HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/node_modules/@vue/cli-ui/dist/js/app.c7ae82b6.js.map
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/plugin/ProjectPluginAddLocal.vue?0beb","webpack:///src/components/plugin/ProjectPluginAddLocal.vue","webpack:///./src/components/plugin/ProjectPluginAddLocal.vue?868f","webpack:///./src/components/plugin/ProjectPluginAddLocal.vue","webpack:///./src/components/dependency/ProjectDependencies.vue?50b7","webpack:///src/components/dependency/ProjectDependencies.vue","webpack:///./src/components/dependency/ProjectDependencies.vue?9398","webpack:///./src/components/dependency/ProjectDependencies.vue","webpack:///./src/components/task/ProjectTasks.vue?8257","webpack:///./src/components/prompt/PromptColor.vue?0032","webpack:///./src/components/suggestion/SuggestionBar.vue?5bf4","webpack:///./src/components/view/ViewNavButton.vue?eba4","webpack:///src/components/view/ViewNavButton.vue","webpack:///./src/components/view/ViewNavButton.vue?151e","webpack:///./src/components/view/ViewNavButton.vue","webpack:///./src/components/logger/LoggerMessage.vue?3fcf","webpack:///./src/graphql/project/projectInitCreation.gql","webpack:///./src/components/content/NavContent.vue?e8de","webpack:///./src/components/app/About.vue?e9d8","webpack:///./src/graphql/task/taskRun.gql","webpack:///./src/App.vue?d61c","webpack:///./src/components/dashboard/WidgetAddPane.vue?fa3b","webpack:///src/components/dashboard/WidgetAddPane.vue","webpack:///./src/components/dashboard/WidgetAddPane.vue?d07d","webpack:///./src/components/dashboard/WidgetAddPane.vue","webpack:///./src/graphql/widget/widgetMove.gql","webpack:///./src/components/app/ProgressScreen.vue?ca6f","webpack:///./src/mixins/Progress.js","webpack:///src/components/app/ProgressScreen.vue","webpack:///./src/components/app/ProgressScreen.vue?988d","webpack:///./src/components/app/ProgressScreen.vue","webpack:///./src/components/dashboard/WidgetAddPane.vue?5e21","webpack:///./src/util/route.js","webpack:///./src/components/plugin/ProjectPlugins.vue?5664","webpack:///./src/components/app/ProjectQuickDropdown.vue?70e6","webpack:///src/components/app/ProjectQuickDropdown.vue","webpack:///./src/components/app/ProjectQuickDropdown.vue?846c","webpack:///./src/components/app/ProjectQuickDropdown.vue","webpack:///./src/graphql/shared-data/sharedData.gql","webpack:///./src/graphql/connected/connected.gql","webpack:///./src/graphql/project/projectCreationFragment.gql","webpack:///./src/components/project-create/ProjectCreate.vue?4a13","webpack:///./src/graphql/view/viewOpen.gql","webpack:///./src/graphql/plugin/pluginActionCalled.gql","webpack:///./src/graphql/prompt/promptFragment.gql","webpack:///./src/components/project-create/ProjectFeatureItem.vue?afbb","webpack:///src/components/project-create/ProjectFeatureItem.vue","webpack:///./src/components/project-create/ProjectFeatureItem.vue?b83c","webpack:///./src/components/project-create/ProjectFeatureItem.vue","webpack:///./src/graphql/console-log/consoleLogFragment.gql","webpack:///./src/components/project-create/ProjectPresetItem.vue?5920","webpack:///src/components/project-create/ProjectPresetItem.vue","webpack:///./src/components/project-create/ProjectPresetItem.vue?8b45","webpack:///./src/components/project-create/ProjectPresetItem.vue","webpack:///./src/components/client-addon/ClientAddonComponent.vue?f4e3","webpack:///src/components/client-addon/ClientAddonComponent.vue","webpack:///./src/components/client-addon/ClientAddonComponent.vue?b26b","webpack:///./src/components/client-addon/ClientAddonComponent.vue","webpack:///./src/graphql/view/views.gql","webpack:///./src/components/plugin/ProjectPluginItem.vue?2b53","webpack:///./src/graphql/console-log/consoleLogs.gql","webpack:///./src/components/prompt/PromptConfirm.vue?95a0","webpack:///./src/components/configuration/ProjectConfigurations.vue?8f6b","webpack:///./src/graphql/task/taskChanged.gql","webpack:///./src/graphql/plugin/pluginLogo.gql","webpack:///./src/components/content/ContentView.vue?e020","webpack:///src/components/content/ContentView.vue","webpack:///./src/components/content/ContentView.vue?8c67","webpack:///./src/components/content/ContentView.vue","webpack:///./src/components/dashboard/ProjectDashboard.vue?0343","webpack:///./src/components/prompt/PromptConfirm.vue?e502","webpack:///src/components/prompt/PromptConfirm.vue","webpack:///./src/components/prompt/PromptConfirm.vue?864b","webpack:///./src/components/prompt/PromptConfirm.vue","webpack:///./src/components/prompt/PromptEditor.vue?4f1b","webpack:///./src/components/folder/FolderExplorerItem.vue?38da","webpack:///./src/components/content/ListItemInfo.vue?3877","webpack:///src/components/content/ListItemInfo.vue","webpack:///./src/components/content/ListItemInfo.vue?c974","webpack:///./src/components/content/ListItemInfo.vue","webpack:///./src/components/file-diff/FileDiffChunk.vue?659e","webpack:///./src/components/project-manager/ProjectTasksDropdown.vue?5d65","webpack:///./src/graphql/dependency/dependencyFragment.gql","webpack:///./src/components/app/ProjectHome.vue?2fcb","webpack:///./src/graphql/plugin/pluginFinishInstall.gql","webpack:///./src/components/suggestion/SuggestionBarItem.vue?71d8","webpack:///./src/graphql/git/fileDiffs.gql","webpack:///./src/graphql/console-log/consoleLogLast.gql","webpack:///./src/graphql/client-addon/clientAddonAdded.gql","webpack:///./src/mixins/RestoreRoute.js","webpack:///./src/graphql/dependency/dependencyUninstall.gql","webpack:///./src/util/folders.js","webpack:///./src/components/app/TopBar.vue?5c40","webpack:///./src/components/project-manager/ProjectRename.vue?769c","webpack:///src/components/project-manager/ProjectRename.vue","webpack:///./src/components/project-manager/ProjectRename.vue?25e6","webpack:///./src/components/project-manager/ProjectRename.vue","webpack:///./src/graphql/suggestion/suggestionFragment.gql","webpack:///./src/components/plugin/ProjectPluginsAdd.vue?cccb","webpack:///./src/components/plugin/ProjectPlugins.vue?eac4","webpack:///src/components/plugin/ProjectPlugins.vue","webpack:///./src/components/plugin/ProjectPlugins.vue?2829","webpack:///./src/components/plugin/ProjectPlugins.vue","webpack:///./src/graphql/plugin/pluginUpdate.gql","webpack:///./src/components/app/About.vue?3a5c","webpack:///src/components/app/About.vue","webpack:///./src/components/app/About.vue?44a2","webpack:///./src/components/app/About.vue","webpack:///./src/graphql/widget/widgetConfigOpen.gql","webpack:///./src/components/prompt/Prompt.vue?990e","webpack:///./src/components/project-manager/ProjectTasksDropdown.vue?400a","webpack:///src/components/project-manager/ProjectTasksDropdown.vue","webpack:///./src/components/project-manager/ProjectTasksDropdown.vue?0820","webpack:///./src/components/project-manager/ProjectTasksDropdown.vue","webpack:///./src/graphql/dependency/dependencyInstall.gql","webpack:///./src/components/search/InstantSearchPagination.vue?df67","webpack:///src/components/search/InstantSearchPagination.vue","webpack:///./src/components/search/InstantSearchPagination.vue?a56e","webpack:///./src/components/search/InstantSearchPagination.vue","webpack:///./src/graphql/task/taskLogAdded.gql","webpack:///./src/graphql/widget/widgetDefinitions.gql","webpack:///./src/components/content/ItemLogo.vue?1064","webpack:///./src/graphql/app/routeRequested.gql","webpack:///./src/graphql/task/taskFragment.gql","webpack:///./src/graphql/preset/presetFragment.gql","webpack:///./src/graphql/cwd/cwdChanged.gql","webpack:///./src/components/app/NotFound.vue?6741","webpack:///src/components/app/NotFound.vue","webpack:///./src/components/app/NotFound.vue?f239","webpack:///./src/components/app/NotFound.vue","webpack:///./src/components/task/ProjectTasks.vue?7b48","webpack:///src/components/task/ProjectTasks.vue","webpack:///./src/components/task/ProjectTasks.vue?3bb0","webpack:///./src/components/task/ProjectTasks.vue","webpack:///./src/components/configuration/ProjectConfigurationDetails.vue?7f27","webpack:///src/components/configuration/ProjectConfigurationDetails.vue","webpack:///./src/components/configuration/ProjectConfigurationDetails.vue?236a","webpack:///./src/components/configuration/ProjectConfigurationDetails.vue","webpack:///./src/graphql/loading/loadingChange.gql","webpack:///./src/components/app/StatusBar.vue?f9d6","webpack:///./src/graphql/prompt/promptChoiceFragment.gql","webpack:///./src/components/client-addon/ClientAddonLoader.vue","webpack:///src/components/client-addon/ClientAddonLoader.vue","webpack:///./src/components/client-addon/ClientAddonLoader.vue?9297","webpack:///./src/graphql/widget/widgetDefinitionFragment.gql","webpack:///./src/components/project-manager/ProjectSelect.vue?374c","webpack:///src/components/project-manager/ProjectSelect.vue","webpack:///./src/components/project-manager/ProjectSelect.vue?ca1b","webpack:///./src/components/project-manager/ProjectSelect.vue","webpack:///./src/graphql/project/projectCurrent.gql","webpack:///./src/graphql/widget/widgetRemove.gql","webpack:///./src/graphql/progress/progress.gql","webpack:///./src/components/project-manager/ProjectSelect.vue?b934","webpack:///./src/components/app/StatusBar.vue?813a","webpack:///src/components/app/StatusBar.vue","webpack:///./src/components/app/StatusBar.vue?4345","webpack:///./src/components/app/StatusBar.vue","webpack:///./src/components/search/InstantSearchInput.vue?10a8","webpack:///./src/components/suggestion/SuggestionBarList.vue?2b5d","webpack:///src/components/suggestion/SuggestionBarList.vue","webpack:///./src/components/suggestion/SuggestionBarList.vue?4b57","webpack:///./src/components/suggestion/SuggestionBarList.vue","webpack:///./src/components/project-manager/ProjectSelectListItem.vue?62a5","webpack:///./src/components/prompt/PromptCheckbox.vue?4d38","webpack:///src/components/prompt/PromptCheckbox.vue","webpack:///./src/components/prompt/PromptCheckbox.vue?04d6","webpack:///./src/components/prompt/PromptCheckbox.vue","webpack:///./src/components/view/ViewNav.vue?f5d8","webpack:///./src/components/dependency/NpmPackageSearch.vue?54a8","webpack:///src/components/dependency/NpmPackageSearch.vue","webpack:///./src/components/dependency/NpmPackageSearch.vue?0d27","webpack:///./src/components/dependency/NpmPackageSearch.vue","webpack:///./src/graphql/project/currentProjectIdSet.gql","webpack:///./src/util/responsive.js","webpack:///./src/filters.js","webpack:///./src/util/shared-data.js","webpack:///./src/util/plugin-action.js","webpack:///./src/mixins/ClientState.js","webpack:///./src/util/set-size.js","webpack:///./src/util/focus.js","webpack:///./src/util/bus.js","webpack:///./src/util/ansi-colors.js","webpack:///./src/plugins.js","webpack:///./src/register-components.js","webpack:///./src/App.vue?3160","webpack:///src/App.vue","webpack:///./src/App.vue?0725","webpack:///./src/App.vue","webpack:///./src/router.js","webpack:///./src/util/ClientAddonApi.js","webpack:///./src/main.js","webpack:///./src/components/suggestion/SuggestionBar.vue?1618","webpack:///src/components/suggestion/SuggestionBar.vue","webpack:///./src/components/suggestion/SuggestionBar.vue?d077","webpack:///./src/components/suggestion/SuggestionBar.vue","webpack:///./src/graphql/folder/folderOpenParent.gql","webpack:///./src/graphql/shared-data/sharedDataFragment.gql","webpack:///./src/graphql/project/projectCreation.gql","webpack:///./src/components/prompt/Prompt.vue","webpack:///src/components/prompt/Prompt.vue","webpack:///./src/components/prompt/Prompt.vue?a417","webpack:///./src/graphql/plugin/pluginActionCall.gql","webpack:///./src/components/configuration/ConfigurationItem.vue?13f6","webpack:///./src/graphql/preset/presetApply.gql","webpack:///./src/graphql/folder/folderSetFavorite.gql","webpack:///./src/graphql/task/task.gql","webpack:///./src/graphql/plugin/pluginInstallationFragment.gql","webpack:///./src/graphql/task/taskStop.gql","webpack:///./src/components/plugin/ProjectPluginsAdd.vue?3181","webpack:///src/components/plugin/ProjectPluginsAdd.vue","webpack:///./src/components/plugin/ProjectPluginsAdd.vue?c7a6","webpack:///./src/components/plugin/ProjectPluginsAdd.vue","webpack:///./src/components/file-diff/FileDiffView.vue?abc8","webpack:///./src/mixins/PageVisibility.js","webpack:///src/components/file-diff/FileDiffView.vue","webpack:///./src/components/file-diff/FileDiffView.vue?46ad","webpack:///./src/components/file-diff/FileDiffView.vue","webpack:///./src/graphql/task/taskLogsClear.gql","webpack:///./src/graphql/project/projectCancelCreation.gql","webpack:///./src/components/search/InstantSearchPagination.vue?0214","webpack:///./src/components/content/ListSort.vue","webpack:///src/components/content/ListSort.vue","webpack:///./src/components/content/ListSort.vue?b88e","webpack:///./src/components/project-create/ProjectPresetItem.vue?7350","webpack:///./src/components/content/TerminalView.vue?352a","webpack:///./src/graphql/suggestion/suggestionAdded.gql","webpack:///./src/components/prompt/PromptColor.vue?79f3","webpack:///src/components/prompt/PromptColor.vue","webpack:///./src/components/prompt/PromptColor.vue?48bb","webpack:///./src/components/prompt/PromptColor.vue","webpack:///./src/graphql/dependency/dependenciesUpdate.gql","webpack:///./src/components/file-diff/FileDiffChange.vue?904d","webpack:///./src/graphql/plugin/pluginInstallLocal.gql","webpack:///./src/graphql/configuration/configurationSave.gql","webpack:///./src/components/view/ViewNavButton.vue?7a94","webpack:///./src/graphql/configuration/configuration.gql","webpack:///./src/components/search/InstantSearchInput.vue?13d3","webpack:///src/components/search/InstantSearchInput.vue","webpack:///./src/components/search/InstantSearchInput.vue?9900","webpack:///./src/components/search/InstantSearchInput.vue","webpack:///./src/components/dependency/PackageSearchItem.vue?66be","webpack:///src/components/dependency/PackageSearchItem.vue","webpack:///./src/components/dependency/PackageSearchItem.vue?4afa","webpack:///./src/components/dependency/PackageSearchItem.vue","webpack:///./src/components/configuration/ProjectConfigurationDetails.vue?2fe8","webpack:///./src/components/task/ProjectTaskDetails.vue?c274","webpack:///./src/App.vue?f9f1","webpack:///./src/components/project-manager/ProjectSelectList.vue?6870","webpack:///./src/components/dashboard/WidgetAddItem.vue?6fab","webpack:///./src/graphql/dependency/dependencyUpdate.gql","webpack:///./src/graphql/view/viewRemoved.gql","webpack:///./src/graphql/file/fileOpenInEditor.gql","webpack:///./src/components/app/NotFound.vue?3ad0","webpack:///./src/graphql/client-addon/clientAddonFragment.gql","webpack:///./src/graphql/shared-data/sharedDataUpdate.gql","webpack:///./src/graphql/task/taskRestoreParameters.gql","webpack:///./src/graphql/plugin/pluginInstallation.gql","webpack:///./src/graphql/folder/folderCurrent.gql","webpack:///./src/graphql/task/taskLogFragment.gql","webpack:///./src/components/folder/FolderExplorer.vue?d7a0","webpack:///./src/components/content/ListFilter.vue","webpack:///src/components/content/ListFilter.vue","webpack:///./src/components/content/ListFilter.vue?a9f4","webpack:///./src/graphql/project/projectFragment.gql","webpack:///./src/components/plugin/ProjectPluginAddLocal.vue?d3c6","webpack:///./src/components/configuration/ProjectConfigurations.vue?9ccd","webpack:///src/components/configuration/ProjectConfigurations.vue","webpack:///./src/components/configuration/ProjectConfigurations.vue?c663","webpack:///./src/components/configuration/ProjectConfigurations.vue","webpack:///./src/graphql/dark-mode/darkModeSet.gql","webpack:///./src/graphql/view/viewAdded.gql","webpack:///./src/graphql/plugin/pluginDetails.gql","webpack:///./src/graphql/project/projects.gql","webpack:///./src/components/dependency/PackageSearchItem.vue?488e","webpack:///./src/components/task/TaskItem.vue?c54e","webpack:///./src/components/prompt sync ^\\.\\/Prompt.*\\.vue$","webpack:///./src/i18n.js","webpack:///./src/components/file-diff/FileDiffView.vue?b4f7","webpack:///./src/components/view/ViewBadge.vue?332c","webpack:///./src/graphql/project/projectOpen.gql","webpack:///./src/graphql/plugin/pluginActionResultFragment.gql","webpack:///./src/components/logger/LoggerView.vue?81a2","webpack:///src/components/logger/LoggerView.vue","webpack:///./src/components/logger/LoggerView.vue?e644","webpack:///./src/components/logger/LoggerView.vue","webpack:///./src/graphql/loading/loading.gql","webpack:///./src/graphql/folder/folderOpen.gql","webpack:///./src/components/dependency/ProjectDependencies.vue?b2e3","webpack:///./src/graphql/console-log/consoleLogsClear.gql","webpack:///./src/util/image.js","webpack:///./src/graphql/task/taskLogs.gql","webpack:///./src/components/dashboard/WidgetAddItem.vue?eeea","webpack:///src/components/dashboard/WidgetAddItem.vue","webpack:///./src/components/dashboard/WidgetAddItem.vue?8245","webpack:///./src/components/dashboard/WidgetAddItem.vue","webpack:///./src/components/view/ViewNavMore.vue?f3be","webpack:///./src/components/view/ViewNavMore.vue","webpack:///./src/components/project-manager/ProjectSelectListItem.vue?4385","webpack:///src/components/project-manager/ProjectSelectListItem.vue","webpack:///./src/components/project-manager/ProjectSelectListItem.vue?4fa5","webpack:///./src/components/project-manager/ProjectSelectListItem.vue","webpack:///./src/graphql/plugin/pluginUninstall.gql","webpack:///./src/graphql/plugin/pluginActionResolved.gql","webpack:///./src/graphql/view/viewFragment.gql","webpack:///./src/graphql/prompt/promptAnswer.gql","webpack:///./src/util/search.js","webpack:///./src/graphql/plugin/pluginActionCallFragment.gql","webpack:///./src/components/dashboard/Widget.vue?dae9","webpack:///./src/graphql/suggestion/suggestionRemoved.gql","webpack:///./src/graphql/cwd/cwd.gql","webpack:///./src/components/client-addon/ClientAddonComponent.vue?67dc","webpack:///./src/components/content/StepWizard.vue?4a07","webpack:///src/components/content/StepWizard.vue","webpack:///./src/components/content/StepWizard.vue?4674","webpack:///./src/components/content/StepWizard.vue","webpack:///./src/components/project-create/ProjectCreate.vue?8e21","webpack:///src/components/project-create/ProjectCreate.vue","webpack:///./src/components/project-create/ProjectCreate.vue?dac7","webpack:///./src/components/project-create/ProjectCreate.vue","webpack:///./src/components/app/ProjectHome.vue?eba6","webpack:///src/components/app/ProjectHome.vue","webpack:///./src/components/app/ProjectHome.vue?7163","webpack:///./src/components/app/ProjectHome.vue","webpack:///./src/graphql/configuration/configurationCancel.gql","webpack:///./src/components/prompt/PromptList.vue?6689","webpack:///src/components/prompt/PromptList.vue","webpack:///./src/components/prompt/PromptList.vue?c367","webpack:///./src/components/prompt/PromptList.vue","webpack:///./src/graphql/widget/widgetAdd.gql","webpack:///./src/graphql/project/projectCwdReset.gql","webpack:///./src/components/dependency/ProjectDependencyItem.vue?b2bd","webpack:///src/components/dependency/ProjectDependencyItem.vue","webpack:///./src/components/dependency/ProjectDependencyItem.vue?94f5","webpack:///./src/components/dependency/ProjectDependencyItem.vue","webpack:///./src/graphql/folder/folderExists.gql","webpack:///./src/graphql/progress/progressChanged.gql","webpack:///./src/graphql/version/versionFragment.gql","webpack:///./src/components/file-diff/FileDiffChange.vue?69be","webpack:///src/components/file-diff/FileDiffChange.vue","webpack:///./src/components/file-diff/FileDiffChange.vue?c475","webpack:///./src/components/file-diff/FileDiffChange.vue","webpack:///./src/graphql/console-log/consoleLogAdded.gql","webpack:///./src/components/task/TaskItem.vue?30af","webpack:///src/components/task/TaskItem.vue","webpack:///./src/components/task/TaskItem.vue?9f1a","webpack:///./src/components/task/TaskItem.vue","webpack:///./src/graphql/project/projectImport.gql","webpack:///./src/components/prompt/PromptCheckbox.vue?c441","webpack:///./src/graphql/project/currentProjectId.gql","webpack:///./src/graphql/locale/localeAdded.gql","webpack:///./src/graphql/suggestion/suggestionUpdated.gql","webpack:///./src/components/view/ViewNavMore.vue?f8ec","webpack:///./src/components/content/TerminalView.vue?a1f4","webpack:///./src/components/view/ViewBadge.vue?e26e","webpack:///src/components/view/ViewBadge.vue","webpack:///./src/components/view/ViewBadge.vue?51e4","webpack:///./src/components/view/ViewBadge.vue","webpack:///./src/graphql/project/projectRemove.gql","webpack:///./src/components/prompt/PromptsList.vue?32a1","webpack:///src/components/prompt/PromptsList.vue","webpack:///./src/components/prompt/PromptsList.vue?ebd9","webpack:///./src/components/prompt/PromptsList.vue","webpack:///./src/components/app/ProjectQuickDropdown.vue?2ff0","webpack:///./src/components/task/ProjectTaskDetails.vue?050a","webpack:///./src/mixins/Defer.js","webpack:///src/components/task/ProjectTaskDetails.vue","webpack:///./src/components/task/ProjectTaskDetails.vue?894a","webpack:///./src/components/task/ProjectTaskDetails.vue","webpack:////Users/soda/Projects/vuejs/vue-cli/node_modules/date-fns/locale sync ^\\.\\/.*\\/index\\.js$","webpack:///./src/graphql/widget/widgets.gql","webpack:///./src/components/content/NavList.vue?a18c","webpack:///src/components/content/NavList.vue","webpack:///./src/components/content/NavList.vue?1fd1","webpack:///./src/components/content/NavList.vue","webpack:///./src/components/logger/LoggerView.vue?1f33","webpack:///./src/components/dashboard/WidgetDetailsView.vue?b87f","webpack:///src/components/dashboard/WidgetDetailsView.vue","webpack:///./src/components/dashboard/WidgetDetailsView.vue?21d6","webpack:///./src/components/dashboard/WidgetDetailsView.vue","webpack:///./src/graphql/view/viewChanged.gql","webpack:///./src/graphql/task/tasks.gql","webpack:///./src/graphql/connected/connectedSet.gql","webpack:///./src/components/file-diff/FileDiff.vue?307c","webpack:///src/components/file-diff/FileDiff.vue","webpack:///./src/components/file-diff/FileDiff.vue?7f96","webpack:///./src/components/file-diff/FileDiff.vue","webpack:///./src/components/view/ViewNav.vue?c8dd","webpack:///src/components/view/ViewNav.vue","webpack:///./src/components/view/ViewNav.vue?4e26","webpack:///./src/components/view/ViewNav.vue","webpack:///./src/graphql/project/projectCreate.gql","webpack:///./src/components/content/ContentView.vue?549f","webpack:///./src/components/configuration/ConfigurationTab.vue?3e57","webpack:///src/components/configuration/ConfigurationTab.vue","webpack:///./src/components/configuration/ConfigurationTab.vue?8e7f","webpack:///./src/components/configuration/ConfigurationTab.vue","webpack:///./src/components/folder/FolderExplorerItem.vue?3f5b","webpack:///src/components/folder/FolderExplorerItem.vue","webpack:///./src/components/folder/FolderExplorerItem.vue?baf6","webpack:///./src/components/folder/FolderExplorerItem.vue","webpack:///./src/components/app/ConnectionStatus.vue?26cc","webpack:///./src/graphql/suggestion/suggestions.gql","webpack:///./src/graphql/plugin/pluginsUpdate.gql","webpack:///./src/graphql/folder/folderCurrentFragment.gql","webpack:///./src/graphql/plugin/pluginFragment.gql","webpack:///./src/components/folder/FolderExplorer.vue?edca","webpack:///src/components/folder/FolderExplorer.vue","webpack:///./src/components/folder/FolderExplorer.vue?02ed","webpack:///./src/components/folder/FolderExplorer.vue","webpack:///./src/components/dashboard/ProjectDashboard.vue?40bd","webpack:///./src/mixins/OnWindowResize.js","webpack:///src/components/dashboard/ProjectDashboard.vue","webpack:///./src/components/dashboard/ProjectDashboard.vue?3b4e","webpack:///./src/components/dashboard/ProjectDashboard.vue","webpack:///./src/graphql/task/taskOpen.gql","webpack:///./src/graphql/suggestion/suggestionActivate.gql","webpack:///./src/graphql/progress/progressFragment.gql","webpack:///./src/graphql/task/taskSaveParameters.gql","webpack:///./src/components/prompt/PromptError.vue?b6e4","webpack:///src/components/prompt/PromptError.vue","webpack:///./src/components/prompt/PromptError.vue?2160","webpack:///./src/components/prompt/PromptError.vue","webpack:///./src/state/defaults.js","webpack:///./src/state/resolvers.js","webpack:///./src/state/typeDefs.js","webpack:///./src/vue-apollo.js","webpack:///./src/components/app/AppLoading.vue?eabc","webpack:///src/components/app/AppLoading.vue","webpack:///./src/components/app/AppLoading.vue?b8bb","webpack:///./src/components/app/AppLoading.vue","webpack:///./src/components/prompt/PromptError.vue?7df4","webpack:///./src/graphql/dependency/dependencyDetails.gql","webpack:///./src/graphql/plugin/pluginInvoke.gql","webpack:///./src/components sync [a-z0-9]+\\.(jsx","webpack:///./src/graphql/plugin/plugins.gql","webpack:///./src/assets/logo.png","webpack:///./src/components/content/NavList.vue?8e5b","webpack:///./src/components/dependency/ProjectDependencyItem.vue?1d32","webpack:///./src/components/dashboard/WidgetDetailsView.vue?acad","webpack:///./src/components/file-diff/FileDiffChunk.vue?e7d4","webpack:///src/components/file-diff/FileDiffChunk.vue","webpack:///./src/components/file-diff/FileDiffChunk.vue?2b6e","webpack:///./src/components/file-diff/FileDiffChunk.vue","webpack:///./src/components/content/ItemLogo.vue?b93c","webpack:///src/components/content/ItemLogo.vue","webpack:///./src/components/content/ItemLogo.vue?a700","webpack:///./src/components/content/ItemLogo.vue","webpack:///./src/graphql/locale/locales.gql","webpack:///./src/components/prompt/PromptInput.vue?4fb4","webpack:///src/components/prompt/PromptInput.vue","webpack:///./src/components/prompt/PromptInput.vue?0be3","webpack:///./src/components/prompt/PromptInput.vue","webpack:///./src/graphql/folder/foldersFavorite.gql","webpack:///./src/components/logger/LoggerMessage.vue?303c","webpack:///src/components/logger/LoggerMessage.vue","webpack:///./src/components/logger/LoggerMessage.vue?385c","webpack:///./src/components/logger/LoggerMessage.vue","webpack:///./src/components/app/LocaleLoader.vue","webpack:///src/components/app/LocaleLoader.vue","webpack:///./src/components/app/LocaleLoader.vue?1991","webpack:///./src/components/content/ListItemInfo.vue?590b","webpack:///./src/assets/search-by-algolia.svg","webpack:///./src/components/suggestion/SuggestionBarItem.vue?3364","webpack:///src/components/suggestion/SuggestionBarItem.vue","webpack:///./src/components/suggestion/SuggestionBarItem.vue?20f6","webpack:///./src/components/suggestion/SuggestionBarItem.vue","webpack:///./src/components/content/NavContent.vue?17bc","webpack:///src/components/content/NavContent.vue","webpack:///./src/components/content/NavContent.vue?9d5f","webpack:///./src/components/content/NavContent.vue","webpack:///./src/components/plugin/ProjectPluginItem.vue?3f99","webpack:///src/components/plugin/ProjectPluginItem.vue","webpack:///./src/components/plugin/ProjectPluginItem.vue?13a5","webpack:///./src/components/plugin/ProjectPluginItem.vue","webpack:///./src/graphql/feature/featureSetEnabled.gql","webpack:///./src/util/theme.js","webpack:///./src/components/app/ConnectionStatus.vue?2efd","webpack:///src/components/app/ConnectionStatus.vue","webpack:///./src/components/app/ConnectionStatus.vue?0562","webpack:///./src/components/app/ConnectionStatus.vue","webpack:///./src/graphql/dark-mode/darkMode.gql","webpack:///./src/graphql/shared-data/sharedDataUpdated.gql","webpack:///./src/components/file-diff/FileDiff.vue?5dc8","webpack:///./src/components/content/StepWizard.vue?81b8","webpack:///./src/graphql/client-addon/clientAddons.gql","webpack:///./src/graphql/project/projectSetFavorite.gql","webpack:///./src/graphql/dependency/dependencies.gql","webpack:///./src/graphql/configuration/configurationFragment.gql","webpack:///./src/components/dashboard/Widget.vue?b497","webpack:///./src/mixins/OnGrid.js","webpack:///./src/mixins/Movable.js","webpack:///./src/mixins/Resizable.js","webpack:///src/components/dashboard/Widget.vue","webpack:///./src/components/dashboard/Widget.vue?3cfa","webpack:///./src/components/dashboard/Widget.vue","webpack:///./src/components/project-create/ProjectFeatureItem.vue?9bd5","webpack:///./src/graphql/git/gitCommit.gql","webpack:///./src/components/prompt/PromptsList.vue?06f1","webpack:///./src/graphql/prompt/promptErrorFragment.gql","webpack:///./src/components/configuration/ConfigurationItem.vue?8619","webpack:///src/components/configuration/ConfigurationItem.vue","webpack:///./src/components/configuration/ConfigurationItem.vue?a39d","webpack:///./src/components/configuration/ConfigurationItem.vue","webpack:///./src/components/app/TopBar.vue?08a7","webpack:///./src/components/app/TopBar.vue","webpack:///./src/graphql/plugin/pluginInstall.gql","webpack:///./src/mixins/Prompts.js","webpack:///./src/graphql/locale/localeFragment.gql","webpack:///./src/graphql/feature/featureFragment.gql","webpack:///./src/graphql/configuration/configurations.gql","webpack:///./src/components/dependency/NpmPackageSearch.vue?d9f2","webpack:///./src/graphql/folder/folderCreate.gql","webpack:///./src/components/prompt/PromptEditor.vue?4425","webpack:///src/components/prompt/PromptEditor.vue","webpack:///./src/components/prompt/PromptEditor.vue?f0a2","webpack:///./src/components/prompt/PromptEditor.vue","webpack:///./src/components/app/ProgressScreen.vue?43d1","webpack:///./src/components/content/TerminalView.vue?2708","webpack:///src/components/content/TerminalView.vue","webpack:///./src/components/content/TerminalView.vue?3a91","webpack:///./src/components/content/TerminalView.vue","webpack:///./src/graphql/widget/widgetFragment.gql","webpack:///./src/graphql/widget/widgetConfigSave.gql","webpack:///./src/graphql/progress/progressRemoved.gql","webpack:///./src/graphql/plugin/pluginResetApi.gql","webpack:///./src/components/project-manager/ProjectSelectList.vue?5f01","webpack:///src/components/project-manager/ProjectSelectList.vue","webpack:///./src/components/project-manager/ProjectSelectList.vue?2be8","webpack:///./src/components/project-manager/ProjectSelectList.vue"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","$t","on","$event","addPlugin","staticRenderFns","methods","component","slot","model","callback","$$v","search","expression","showInstallModal","updateAll","scopedSlots","_u","fn","ref","ref_result","loading","dependencies","item","id","includes","list","_l","type","_v","_s","a","b","localeCompare","dependency","openConfirmUninstall","undefined","_e","installType","installPlugin","showUninstallModal","selectedId","uninstallPlugin","show","hide","class","$responsive","wide","imageIcon","defaultPluginIcon","view","icon","tooltip","badge","firstNotHiddenBadge","props","required","computed","badges","sort","find","doc","loc","source","names","unique","defs","filter","def","kind","collectFragmentReferences","node","refs","add","selectionSet","selections","forEach","selection","variableDefinitions","definitions","concat","definitionRefs","findOperation","element","oneQuery","operationName","newDoc","opRefs","Set","allRefs","newRefs","refName","size","prevRefs","has","childRefs","childRef","op","directives","rawName","close","widgets","widgetDefinitions","filterDefinition","definition","$emit","title","match","reg","progress","error","statusMessage","domProps","ansiColors","info","debug","progressId","String","apollo","query","PROGRESS","variables","fetchPolicy","subscribeToMore","document","PROGRESS_CHANGED","updateQuery","previousResult","subscriptionData","progressChanged","PROGRESS_REMOVED","message","status","values","args","mixins","trailingSlashRE","isSameRoute","checkQuery","path","replace","hash","isObjectEqual","params","aKeys","keys","bKeys","every","aVal","bVal","isIncludedRoute","current","target","indexOf","queryIncludes","projectCurrent","favorite","toggleCurrentFavorite","openInEditor","showRename","homepage","favoriteProjects","project","openProject","recentProjects","components","ProjectRename","projects","selected","feature","enabled","description","link","preset","Boolean","default","tag","timeout","watch","handler","immediate","_t","prompt","answer","extends","Prompt","showDescription","stopPropagation","lastRoute","baseRoute","PROJECT_CURRENT","$_restoreRouteReady","replaceBaseRoute","bus","quickOpenProject","beforeRouteEnter","to","from","next","beforeRouteLeave","mounted","setTimeout","$route","$router","isValidName","encodeURIComponent","isValidMultiName","split","_k","keyCode","rename","newName","plugins","plugin","metaInfo","$apollo","getClient","writeQuery","mutate","mutation","_m","previousRoute","vm","fullPath","nativeOn","preventDefault","countPerStatus","running","count","bulletClass","task","openTask","stopTask","tasks","Array","$subscribe","taskChanged","map","totalResults","page","goToFirstPage","goToPreviousPage","primary","toString","goToPage","totalPages","goToNextPage","goToLastPage","addonRouteTimout","isAddonRoute","generateItems","refresh","route","$refs","queries","refetch","configuration","tabs","currentTab","tab","label","tabsHaveChanges","hasPromptsChanged","cancel","save","created","init","$_init","clientAddons","manual","stale","loadAddon","$_lastRead","Date","now","clientAddonAdded","console","log","script","setAttribute","addon","url","body","appendChild","hideTabs","createProject","action","folderCurrent","isPackage","busy","importProject","showNoModulesModal","showLogs","onProjectClick","onCwdClick","cwd","onConsoleClick","consoleLogLast","toggleDarkMode","onBugReportClick","onTranslateClick","resetPluginApi","clientState","enableDarkModeButton","consoleLogAdded","win","focus","applyDarkMode","darkMode","suggestion","index","$i18n","suggestions","choice","isCheckboxSelected","disabled","asnwerCheckbox","checkboxValue","choiceValue","hitsPerPage","pageSize","attributesToRetrieve","attributesToHighlight","analyticsTags","filters","selectedIdModel","loadMetadata","scrollResultsToTop","install","Number","internalSelectedId","set","requestAnimationFrame","el","scrollTop","responsive","folder","maxLength","charAt","exceeded","firstEnd","Math","floor","lastStart","ceil","substring","date","toLocaleString","Vue","options","finalOptions","assign","width","innerWidth","height","innerHeight","addEventListener","genQuery","projectId","SHARED_DATA","update","sharedData","SHARED_DATA_UPDATED","sharedDataUpdated","mixin","$sharedData","beforeCreate","$data","configurable","$options","$watch","smartQueries","destroy","$syncSharedData","_watchers","watcher","$getProjectId","Promise","resolve","client","observable","watchQuery","CURRENT_PROJECT_ID","sub","subscribe","currentProjectId","unsubscribe","$getSharedData","$watchSharedData","cb","addSmartQuery","$setSharedData","SHARED_DATA_UPDATE","$set","smartQuery","mapSharedData","namespace","uid","$callPluginAction","PLUGIN_ACTION_CALL","pluginActionCall","$onPluginActionCalled","addSmartSubscription","PLUGIN_ACTION_CALLED","pluginActionCalled","$onPluginActionResolved","PLUGIN_ACTION_RESOLVED","pluginActionResolved","newData","connected","CONNECTED","DARK_MODE","$apolloData","querySelector","bounds","getBoundingClientRect","style","input","$bus","busOptions","$_bus","addListeners","event","$on","isArray","beforeDestroy","listener","$off","config","optionMergeStrategies","parent","child","ansiUp","AU","use_classes","escape_for_html","text","ansi_to_html","use","InstantSearch","VueMeta","Responsive","mobile","tablet","desktop","VueUi","PortalVue","VueObserveVisibility","SharedData","PluginAction","Bus","AnsiColors","Filters","ClientState","directive","SetSize","Focus","VueVirtualScroller","requireComponent","require","fileName","componentConfig","componentName","substr","lastIndexOf","titleTemplate","ready","i18n","routeRequested","Router","router","routes","ProjectHome","meta","needProject","children","redirect","ProjectDashboard","ProjectPlugins","ProjectPluginsAdd","ProjectConfigurations","ProjectConfigurationDetails","ProjectTasks","ProjectTaskDetails","ProjectDependencies","ProjectSelect","ProjectCreate","FileDiffView","About","NotFound","beforeEach","matched","some","apolloClient","CURRENT_PROJECT_ID_SET","ClientAddonApi","Map","componentListeners","componentId","toComponentId","listeners","delete","addRoutes","restore","lang","strings","mergeLocale","reject","getComponent","listenForComponent","gql","productionTip","devtools","app","apolloProvider","App","$mount","withBuiltins","newSuggestion","suggestionAdded","suggestionRemoved","forceDevtoolsSuggestion","test","navigator","userAgent","vendor","devtoolsLink","ListItemInfo","modifiedValue","buffer","JSON","parse","tabId","showLocalAdd","pluginId","visiblePrompts","answerPrompt","showCancelInstall","configurationValid","invokePlugin","finishInstall","cancelInstall","closeLocalAdd","localPluginInstalled","pluginInstallation","checkTab","destroyed","step","fileDiffs","allCollapsed","setCollapsedToAll","filteredList","fileDiff","collapsed","showCommitModal","skip","commitMessage","commit","documentVisible","hidden","documentFocus","hasFocus","loadingKey","functional","h","backgroundColor","hex","ColorPicker","placeholder","clear","searchStore","stop","$nextTick","activeRefinements","clearRefinements","start","logoUrl","pkg","repository","version","humanDownloadsLast30Days","owner","hasGenerator","hasUiIntegration","official","updateMetadata","avatar","img","onload","src","fetch","configurations","webpackContext","req","webpackContextResolve","e","Error","code","detectLanguage","languages","language","userLanguage","toLowerCase","autoInstallLocale","response","ok","json","autoDetect","codes","previousCode","tryAutoLang","dateFnsLocale","locale","createTimeago","locales","VueI18n","VueTimeago","fallbackLocale","messages","en","silentTranslationWarn","process","deepmerge","getLocaleMessage","setLocaleMessage","clearLogs","scrollToBottom","consoleLogs","onConsoleLogAdded","getImageUrl","VUE_APP_CLI_UI_DEV","VUE_APP_GRAPHQL_PORT","showDetails","longDescription","total","maxCount","definitionId","store","writeFragment","fragment","widgetAdd","generateSearchRegex","RegExp","trim","_g","_b","$attrs","$listeners","previous","inheritAttrs","activateChild","activeChildIndex","formData","_f","folderNameValid","file","folderExists","showCancel","detailsValid","projectCreation","selectedPreset","selectPreset","remotePresetInfo","remotePreset","presetValid","createWithoutSaving","toggleFeature","showSavePreset","closeRemotePresetModal","remoteNotGithub","remotePresetValid","formDataFactory","force","bare","enableGit","gitCommitMessage","packageManager","clone","showRemotePreset","debouncedCheckRemotePreset","$_oldClone","checkRemotePreset","generateLabel","isDefault","visible","image","website","dependencyDetails","wanted","latest","updating","updateDependency","visibilityChanged","isVisible","change","ln1","ln2","content","inject","normal","ln","FileDiffInjection","line","gitPath","modifiers","runTask","iconData","logo","idle","done","terminated","icons","group","getModule","prompts","rawlist","password","groups","groupMap","types","toUpperCase","command","showParameters","views","currentView","defer","ghost","scrollback","disableStdin","useFlowControl","currentViewComponent","restoreParameters","saveParameters","displayPriority","runDisplayPriority","priority","provide","TaskDetails","taskLogs","taskLogAdded","open","currentRoute","items","widget","left","dashboard","top","transformOrigin","shellOrigin","new","deleted","chunk","currentViewName","hasProjectType","oldValue","checkProjectType","select","openParentFolder","editingPath","submitPathEdit","editedPath","openPathEdit","slicePath","openFolder","cwdChangedUpdate","refreshFolder","toggleFavorite","foldersFavorite","showNewFolder","showHidden","createFolder","newFolderName","newFolderValid","localStorage","getItem","SHOW_HIDDEN","setItem","removeItem","resetProjectCwd","startIndex","parts","findSeparator","addPart","customizing","customizeMode","injected","isWidgetDetailsShown","onWindowResize","removeEventListener","PADDING","Mutation","connectedSet","root","cache","writeData","loadingChange","mod","readQuery","LOADING","darkModeSet","getElementsByTagName","classList","remove","currentProjectIdSet","VueApollo","endpoint","location","origin","inMemoryCacheOptions","wsEndpoint","persisting","websocketsOnly","typeDefs","clientStateTypeDefs","resolvers","clientStateResolvers","onCacheInit","clientStateDefaults","createApolloClient","wsClient","defaultClient","defaultOptions","$query","errorPolicy","watchLoading","state","LOADING_CHANGE","errorHandler","graphQLErrors","networkError","resetApollo","resetStore","loadDarkMode","setConnected","CONNECTED_SET","forcedTheme","getForcedTheme","raw","DARK_MODE_SET","loaded","vuejs","imageUrl","fallbackIcon","displayImage","colorBullet","isMaterialIcon","reset","pre","loadLocale","localeAdded","ping","animationDelay","onTriggerClick","activate","pluginLogo","pluginDetails","updatePlugin","shiftKey","isLocal","localPath","exec","href","moving","moveState","resizing","resizeState","isSelected","details","shellStyle","mainStyle","customTitle","onCalled","openConfig","openDetails","onMoveStart","handle","onResizeStart","showConfig","loadingConfig","saveConfig","closeDetails","gridSize","field","getPositionStyle","pxX","pxY","getSizeStyle","pxWidth","pxHeight","x","y","moveGhostStyle","resizeGhostStyle","movable","zoom","removeMoveListeners","onMoveUpdate","onMoveEnd","updateMoveState","mouseDeltaX","clientX","$_initalMousePosition","mouseDeltaY","clientY","round","onMoved","showResizeHandle","canBeResized","minWidth","maxWidth","minHeight","maxHeight","resizeHandles","removeResizeListeners","onResizeMove","onResizeEnd","updateResizeState","$_resizeHandle","dX","dY","dWidth","dHeight","gridDX","gridDY","gridDWidth","gridDHeight","onResized","selectedWidgetId","isDetails","addHeaderAction","removeHeaderAction","headerActions","detailsComponent","widgetRemove","updateShellOrigin","transformToGetter","obj","valueChanged","PROMPT_ANSWER","stringify","promptAnswer","vars","copyContent","fit","Terminal","foreground","background","cursor","black","red","brightRed","green","brightGreen","brightYellow","yellow","magenta","brightMagenta","cyan","brightBlue","brightCyan","blue","white","brightBlack","brightWhite","cols","rows","autoSize","toolbar","openLinks","theme","darkTheme","defaultTheme","$_terminal","resize","initTerminal","setOption","webLinks","term","setContent","writeln","addLog","textarea","emptySelection","selectAll","getSelection","execCommand","textValue","clearSelection","handleLink","uri","blur","filterProjects","compareProjects","removeProject"],"mappings":"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","file":"js/app.c7ae82b6.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-plugin-add-local\"},[_c('FolderExplorer'),_c('div',{staticClass:\"actions-bar center\"},[_c('VueButton',{staticClass:\"big primary\",attrs:{\"icon-left\":\"add\",\"label\":_vm.$t('org.vue.views.project-plugin-add-local.buttons.add')},on:{\"click\":function($event){return _vm.addPlugin()}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-plugin-add-local\">\n    <FolderExplorer/>\n\n    <div class=\"actions-bar center\">\n      <VueButton\n        icon-left=\"add\"\n        :label=\"$t('org.vue.views.project-plugin-add-local.buttons.add')\"\n        class=\"big primary\"\n        @click=\"addPlugin()\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport PLUGIN_INSTALL_LOCAL from '@/graphql/plugin/pluginInstallLocal.gql'\n\nexport default {\n  methods: {\n    async addPlugin () {\n      await this.$apollo.mutate({\n        mutation: PLUGIN_INSTALL_LOCAL\n      })\n      this.$emit('installed')\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-plugin-add-local\n  width 70vw\n  height 70vh\n  display flex\n  flex-direction column\n\n.folder-explorer\n  flex 1\n  overflow hidden\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginAddLocal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginAddLocal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectPluginAddLocal.vue?vue&type=template&id=eadd60ec&scoped=true&\"\nimport script from \"./ProjectPluginAddLocal.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectPluginAddLocal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectPluginAddLocal.vue?vue&type=style&index=0&id=eadd60ec&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"eadd60ec\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-dependencies page\"},[_c('ContentView',{staticClass:\"limit-width list\",attrs:{\"title\":_vm.$t('org.vue.views.project-dependencies.title')}},[_c('template',{slot:\"actions\"},[_c('VueInput',{staticClass:\"round\",attrs:{\"icon-left\":\"search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('VueButton',{staticClass:\"primary round\",attrs:{\"icon-left\":\"add\",\"label\":_vm.$t('org.vue.views.project-dependencies.actions.install')},on:{\"click\":function($event){_vm.showInstallModal = true}}}),_c('VueDropdown',[_c('VueButton',{staticClass:\"icon-button flat round\",attrs:{\"slot\":\"trigger\",\"icon-left\":\"more_vert\"},slot:\"trigger\"}),_c('VueDropdownButton',{attrs:{\"icon-left\":\"file_download\",\"label\":_vm.$t('org.vue.views.project-dependencies.actions.update-all')},on:{\"click\":function($event){return _vm.updateAll()}}})],1)],1),_c('ApolloQuery',{attrs:{\"query\":require('@/graphql/dependency/dependencies.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar ref_result = ref.result;\nvar data = ref_result.data;\nvar loading = ref_result.loading;\nreturn [(loading && (!data || !data.dependencies))?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):(data && data.dependencies)?_c('ListFilter',{attrs:{\"list\":data.dependencies,\"filter\":function (item) { return !_vm.search || item.id.includes(_vm.search); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar list = ref.list;\nreturn _vm._l((['dependencies', 'devDependencies']),function(type){return _c('ListFilter',{key:type,attrs:{\"list\":list,\"filter\":function (item) { return item.type === type; }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar list = ref.list;\nreturn (list.length)?[_c('div',{staticClass:\"cta-text\"},[_vm._v(_vm._s(_vm.$t((\"org.vue.views.project-dependencies.heading.\" + type))))]),_c('ListSort',{attrs:{\"list\":list,\"compare\":function (a, b) { return a.id.localeCompare(b.id); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar list = ref.list;\nreturn _vm._l((list),function(dependency){return _c('ProjectDependencyItem',{key:dependency.id,attrs:{\"dependency\":dependency},on:{\"uninstall\":function($event){return _vm.openConfirmUninstall(dependency.id)}}})})}}],null,true)})]:undefined}}],null,true)})})}}],null,true)}):_vm._e()]}}])})],2),(_vm.showInstallModal)?_c('VueModal',{staticClass:\"install-modal\",attrs:{\"title\":_vm.$t('org.vue.views.project-dependencies.install.title')},on:{\"close\":function($event){_vm.showInstallModal = false}}},[_c('div',{staticClass:\"default-body\"},[_c('div',{staticClass:\"install-options\"},[_c('VueGroup',{staticClass:\"inline\",model:{value:(_vm.installType),callback:function ($$v) {_vm.installType=$$v},expression:\"installType\"}},_vm._l((['dependencies', 'devDependencies']),function(type){return _c('VueGroupButton',{key:type,attrs:{\"value\":type}},[_vm._v(\" \"+_vm._s(_vm.$t((\"org.vue.views.project-dependencies.heading.\" + type)))+\" \")])}),1)],1),_c('NpmPackageSearch',{staticClass:\"package-search\",attrs:{\"filters\":\"NOT computedKeywords:vue-cli-plugin\"},on:{\"close\":function($event){_vm.showInstallModal = false},\"install\":_vm.installPlugin}})],1)]):_vm._e(),(_vm.showUninstallModal)?_c('VueModal',{staticClass:\"small\",attrs:{\"title\":_vm.$t('org.vue.views.project-dependencies.uninstall.title')},on:{\"close\":function($event){_vm.showUninstallModal = false}}},[_c('div',{staticClass:\"default-body\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-dependencies.uninstall.body', { id: _vm.selectedId }))+\" \")]),_c('div',{staticClass:\"actions end\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat\",attrs:{\"label\":_vm.$t('org.vue.views.project-dependencies.uninstall.cancel')},on:{\"click\":function($event){_vm.showUninstallModal = false}}}),_c('VueButton',{staticClass:\"danger\",attrs:{\"label\":_vm.$t('org.vue.views.project-dependencies.uninstall.uninstall', { id: _vm.selectedId }),\"icon-left\":\"delete_forever\"},on:{\"click\":function($event){return _vm.uninstallPlugin(_vm.selectedId)}}})],1)]):_vm._e(),_c('ProgressScreen',{attrs:{\"progress-id\":\"dependency-installation\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-dependencies page\">\n    <ContentView\n      :title=\"$t('org.vue.views.project-dependencies.title')\"\n      class=\"limit-width list\"\n    >\n      <template slot=\"actions\">\n        <VueInput\n          v-model=\"search\"\n          icon-left=\"search\"\n          class=\"round\"\n        />\n\n        <VueButton\n          icon-left=\"add\"\n          :label=\"$t('org.vue.views.project-dependencies.actions.install')\"\n          class=\"primary round\"\n          @click=\"showInstallModal = true\"\n        />\n\n        <VueDropdown>\n          <VueButton\n            slot=\"trigger\"\n            icon-left=\"more_vert\"\n            class=\"icon-button flat round\"\n          />\n\n          <VueDropdownButton\n            icon-left=\"file_download\"\n            :label=\"$t('org.vue.views.project-dependencies.actions.update-all')\"\n            @click=\"updateAll()\"\n          />\n        </VueDropdown>\n      </template>\n\n      <ApolloQuery\n        :query=\"require('@/graphql/dependency/dependencies.gql')\"\n      >\n        <template slot-scope=\"{ result: { data, loading } }\">\n          <VueLoadingIndicator\n            v-if=\"loading && (!data || !data.dependencies)\"\n            class=\"overlay\"\n          />\n\n          <ListFilter\n            v-else-if=\"data && data.dependencies\"\n            :list=\"data.dependencies\"\n            :filter=\"item => !search || item.id.includes(search)\"\n          >\n            <template slot-scope=\"{ list }\">\n              <ListFilter\n                v-for=\"type of ['dependencies', 'devDependencies']\"\n                :key=\"type\"\n                :list=\"list\"\n                :filter=\"item => item.type === type\"\n              >\n                <template slot-scope=\"{ list }\" v-if=\"list.length\">\n                  <div class=\"cta-text\">{{ $t(`org.vue.views.project-dependencies.heading.${type}`) }}</div>\n\n                  <ListSort\n                    :list=\"list\"\n                    :compare=\"(a, b) => a.id.localeCompare(b.id)\"\n                  >\n                    <template slot-scope=\"{ list }\">\n                      <ProjectDependencyItem\n                        v-for=\"dependency of list\"\n                        :key=\"dependency.id\"\n                        :dependency=\"dependency\"\n                        @uninstall=\"openConfirmUninstall(dependency.id)\"\n                      />\n                    </template>\n                  </ListSort>\n                </template>\n              </ListFilter>\n            </template>\n          </ListFilter>\n        </template>\n      </ApolloQuery>\n    </ContentView>\n\n    <VueModal\n      v-if=\"showInstallModal\"\n      :title=\"$t('org.vue.views.project-dependencies.install.title')\"\n      class=\"install-modal\"\n      @close=\"showInstallModal = false\"\n    >\n      <div class=\"default-body\">\n        <div class=\"install-options\">\n          <VueGroup v-model=\"installType\" class=\"inline\">\n            <VueGroupButton\n              v-for=\"type of ['dependencies', 'devDependencies']\"\n              :key=\"type\"\n              :value=\"type\"\n            >\n              {{ $t(`org.vue.views.project-dependencies.heading.${type}`) }}\n            </VueGroupButton>\n          </VueGroup>\n        </div>\n\n        <NpmPackageSearch\n          filters=\"NOT computedKeywords:vue-cli-plugin\"\n          class=\"package-search\"\n          @close=\"showInstallModal = false\"\n          @install=\"installPlugin\"\n        />\n      </div>\n    </VueModal>\n\n    <VueModal\n      v-if=\"showUninstallModal\"\n      :title=\"$t('org.vue.views.project-dependencies.uninstall.title')\"\n      class=\"small\"\n      @close=\"showUninstallModal = false\"\n    >\n      <div class=\"default-body\">\n        {{ $t('org.vue.views.project-dependencies.uninstall.body', { id: selectedId }) }}\n      </div>\n\n      <div slot=\"footer\" class=\"actions end\">\n        <VueButton\n          :label=\"$t('org.vue.views.project-dependencies.uninstall.cancel')\"\n          class=\"flat\"\n          @click=\"showUninstallModal = false\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.views.project-dependencies.uninstall.uninstall', { id: selectedId })\"\n          icon-left=\"delete_forever\"\n          class=\"danger\"\n          @click=\"uninstallPlugin(selectedId)\"\n        />\n      </div>\n    </VueModal>\n\n    <ProgressScreen progress-id=\"dependency-installation\"/>\n  </div>\n</template>\n\n<script>\nimport DEPENDENCIES from '@/graphql/dependency/dependencies.gql'\nimport DEPENDENCY_INSTALL from '@/graphql/dependency/dependencyInstall.gql'\nimport DEPENDENCY_UNINSTALL from '@/graphql/dependency/dependencyUninstall.gql'\nimport DEPENDENCIES_UPDATE from '@/graphql/dependency/dependenciesUpdate.gql'\n\nexport default {\n  data () {\n    return {\n      showInstallModal: false,\n      installType: 'dependencies',\n      selectedId: null,\n      showUninstallModal: false,\n      search: ''\n    }\n  },\n\n  methods: {\n    async updateAll () {\n      await this.$apollo.mutate({\n        mutation: DEPENDENCIES_UPDATE\n      })\n    },\n\n    async installPlugin (id) {\n      await this.$apollo.mutate({\n        mutation: DEPENDENCY_INSTALL,\n        variables: {\n          input: {\n            id,\n            type: this.installType\n          }\n        },\n        update: (store, { data: { dependencyInstall } }) => {\n          let data = store.readQuery({ query: DEPENDENCIES })\n          // TODO this is a workaround\n          // See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473\n          data = {\n            dependencies: [...data.dependencies, dependencyInstall]\n          }\n          store.writeQuery({ query: DEPENDENCIES, data })\n        }\n      })\n\n      this.showInstallModal = false\n    },\n\n    openConfirmUninstall (id) {\n      this.selectedId = id\n      this.showUninstallModal = true\n    },\n\n    async uninstallPlugin (id) {\n      this.showUninstallModal = false\n\n      await this.$apollo.mutate({\n        mutation: DEPENDENCY_UNINSTALL,\n        variables: {\n          input: {\n            id\n          }\n        },\n        update: (store, { data: { dependencyUninstall } }) => {\n          let data = store.readQuery({ query: DEPENDENCIES })\n          const index = data.dependencies.findIndex(d => d.id === dependencyUninstall.id)\n          if (index !== -1) {\n            // TODO this is a workaround\n            // See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473\n            data = {\n              dependencies: data.dependencies.slice()\n            }\n            data.dependencies.splice(index, 1)\n            store.writeQuery({ query: DEPENDENCIES, data })\n          }\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-dependencies\n  .content-view /deep/ > .content\n    overflow-y auto\n\n.install-modal >>> .shell\n  width 80vw\n  max-width 1200px\n\n.install-options\n  h-box()\n  box-center()\n  margin-bottom $padding-item\n\n.package-search\n  height 70vh\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencies.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencies.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectDependencies.vue?vue&type=template&id=40a4792a&scoped=true&\"\nimport script from \"./ProjectDependencies.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectDependencies.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectDependencies.vue?vue&type=style&index=0&id=40a4792a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"40a4792a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasks.vue?vue&type=style&index=0&id=492ec4a6&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasks.vue?vue&type=style&index=0&id=492ec4a6&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptColor.vue?vue&type=style&index=0&id=17ce3a2a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptColor.vue?vue&type=style&index=0&id=17ce3a2a&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBar.vue?vue&type=style&index=0&id=6db62ce8&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBar.vue?vue&type=style&index=0&id=6db62ce8&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-nav-button\"},[_c('v-popover',{attrs:{\"trigger\":\"hover\",\"handle-resize\":\"\",\"popover-class\":\"force-tooltip\",\"placement\":\"right\",\"offset\":\"4\",\"delay\":{ show: 300, hide: 0 }}},[_c('VueGroupButton',{staticClass:\"flat big\",class:{\n        'icon-button': !_vm.$responsive.wide,\n        'has-image-icon': _vm.imageIcon,\n        'default-plugin-icon': _vm.defaultPluginIcon\n      },attrs:{\"value\":_vm.view.name,\"icon-left\":!_vm.imageIcon ? _vm.view.icon : null}},[(_vm.imageIcon)?_c('img',{staticClass:\"image-icon\",attrs:{\"src\":_vm.icon}}):_vm._e(),(_vm.$responsive.wide)?_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(_vm.view.tooltip)))]):_vm._e()]),_c('template',{slot:\"popover\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(_vm.view.tooltip)))]),(_vm.badges)?_c('div',{staticClass:\"badges\"},_vm._l((_vm.badges),function(badge){return _c('ViewBadge',{key:badge.id,attrs:{\"badge\":badge}})}),1):_vm._e()])],2),(_vm.firstNotHiddenBadge)?_c('div',{staticClass:\"bullet\",class:[\n      (\"type-\" + (_vm.firstNotHiddenBadge.type))\n    ]}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-nav-button\">\n    <v-popover\n      trigger=\"hover\"\n      handle-resize\n      popover-class=\"force-tooltip\"\n      placement=\"right\"\n      offset=\"4\"\n      :delay=\"{ show: 300, hide: 0 }\"\n    >\n      <VueGroupButton\n        class=\"flat big\"\n        :class=\"{\n          'icon-button': !$responsive.wide,\n          'has-image-icon': imageIcon,\n          'default-plugin-icon': defaultPluginIcon\n        }\"\n        :value=\"view.name\"\n        :icon-left=\"!imageIcon ? view.icon : null\"\n      >\n        <img\n          v-if=\"imageIcon\"\n          :src=\"icon\"\n          class=\"image-icon\"\n        >\n\n        <span v-if=\"$responsive.wide\" class=\"label\">{{ $t(view.tooltip) }}</span>\n      </VueGroupButton>\n\n      <template slot=\"popover\">\n        <div class=\"title\">{{ $t(view.tooltip) }}</div>\n\n        <div v-if=\"badges\" class=\"badges\">\n          <ViewBadge\n            v-for=\"badge of badges\"\n            :key=\"badge.id\"\n            :badge=\"badge\"\n          />\n        </div>\n      </template>\n    </v-popover>\n\n    <div\n      v-if=\"firstNotHiddenBadge\"\n      class=\"bullet\"\n      :class=\"[\n        `type-${firstNotHiddenBadge.type}`\n      ]\"\n    />\n  </div>\n</template>\n\n<script>\nimport { getImageUrl } from '@/util/image'\n\nexport default {\n  props: {\n    view: {\n      type: Object,\n      required: true\n    }\n  },\n\n  computed: {\n    badges () {\n      if (this.view.badges && this.view.badges.length) {\n        return this.view.badges.slice().sort((a, b) => b.priority - a.priority)\n      }\n    },\n\n    firstNotHiddenBadge () {\n      return this.badges && this.badges.find(b => !b.hidden)\n    },\n\n    imageIcon () {\n      return this.view.icon && this.view.icon.includes('/')\n    },\n\n    icon () {\n      return getImageUrl(this.view.icon)\n    },\n\n    defaultPluginIcon () {\n      return this.imageIcon && this.view.icon.includes('/_plugin-logo/')\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n$bg = $vue-ui-color-light-neutral\n$bg-dark = $vue-ui-color-dark\n\n.project-nav-button\n  position relative\n\n  .bullet\n    position absolute\n    width 6px\n    height @width\n    border-radius 50%\n    bottom 12px\n    left 27px\n    pointer-events none\n    border solid 2px $bg\n    transition border-color .1s\n    &.type-info\n      background $vue-ui-color-info\n    &.type-success\n      background $vue-ui-color-success\n    &.type-error\n      background $vue-ui-color-danger\n    &.type-warning\n      background $vue-ui-color-warning\n    &.type-accent\n      background $vue-ui-color-accent\n    &.type-dim\n      background $md-grey\n    .vue-ui-dark-mode &\n      border-color $bg-dark\n\n  .wide &\n    .bullet\n      left 28px\n\n  &:hover\n    .bullet\n      border-color lighten($bg, 25%)\n      .vue-ui-dark-mode &\n        border-color lighten($bg-dark, 25%)\n  &:active\n    .bullet\n      border-color darken($bg, 8%)\n      .vue-ui-dark-mode &\n        border-color darken($bg-dark, 8%)\n\n  .image-icon\n    max-width 24px\n    max-height @width\n    .wide &\n      margin-right 6px\n      position relative\n      left -2px\n\n  .vue-ui-group-button\n    &.has-image-icon\n      >>> .default-slot\n        display flex\n        align-items center\n        overflow visible !important\n        .label\n          display block\n          max-width 150px\n          ellipsis()\n\n    &.default-plugin-icon\n      .image-icon\n        border-radius 50%\n\n    &.selected\n      background rgba($vue-ui-color-primary, .05) !important\n\n.badges\n  margin ($padding-item/2) 0\n  display grid\n  grid-template-columns auto\n  grid-gap 4px\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNavButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNavButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewNavButton.vue?vue&type=template&id=27979e8c&scoped=true&\"\nimport script from \"./ViewNavButton.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewNavButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewNavButton.vue?vue&type=style&index=0&id=27979e8c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"27979e8c\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerMessage.vue?vue&type=style&index=0&id=927a788c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerMessage.vue?vue&type=style&index=0&id=927a788c&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectInitCreation\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectInitCreation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":125}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectCreationFragment.gql\\\"\\n\\nmutation projectInitCreation {\\n  projectInitCreation {\\n    ...projectCreation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectCreationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectInitCreation\"] = oneQuery(doc, \"projectInitCreation\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavContent.vue?vue&type=style&index=0&id=4f974f94&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavContent.vue?vue&type=style&index=0&id=4f974f94&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=74eeb262&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=74eeb262&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"taskRun\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskRun\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":100}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskFragment.gql\\\"\\n\\nmutation taskRun ($id: ID!) {\\n  taskRun (id: $id) {\\n    ...task\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskRun\"] = oneQuery(doc, \"taskRun\");\n        \n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=7f631aef&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=7f631aef&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"widget-add-pane\"},[_c('div',{staticClass:\"pane-toolbar\"},[_c('VueIcon',{attrs:{\"icon\":\"library_add\"}}),_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.widget-add-pane.title'))+\" \")]),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.common.close')),expression:\"$t('org.vue.common.close')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"close\"},on:{\"click\":function($event){return _vm.close()}}})],1),_c('div',{staticClass:\"toolbar\"},[_c('VueInput',{staticClass:\"round search-input\",attrs:{\"icon-left\":\"search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('ApolloQuery',{staticClass:\"widgets\",attrs:{\"query\":require('@/graphql/widget/widgetDefinitions.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar ref_result = ref.result;\nvar data = ref_result.data;\nvar loading = ref_result.loading;\nreturn [(loading && (!data || !data.widgets))?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):(data)?_vm._l((data.widgetDefinitions.filter(_vm.filterDefinition)),function(definition){return (definition.canAddMore)?_c('WidgetAddItem',{key:definition.id,attrs:{\"definition\":definition}}):_vm._e()}):_vm._e()]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"widget-add-pane\">\n    <div class=\"pane-toolbar\">\n      <VueIcon\n        icon=\"library_add\"\n      />\n      <div class=\"title\">\n        {{ $t('org.vue.components.widget-add-pane.title') }}\n      </div>\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"close\"\n        v-tooltip=\"$t('org.vue.common.close')\"\n        @click=\"close()\"\n      />\n    </div>\n\n    <div class=\"toolbar\">\n      <VueInput\n        v-model=\"search\"\n        icon-left=\"search\"\n        class=\"round search-input\"\n      />\n    </div>\n\n    <ApolloQuery\n      :query=\"require('@/graphql/widget/widgetDefinitions.gql')\"\n      class=\"widgets\"\n    >\n      <template slot-scope=\"{ result: { data, loading } }\">\n        <VueLoadingIndicator\n          v-if=\"loading && (!data || !data.widgets)\"\n          class=\"overlay\"\n        />\n\n        <template v-else-if=\"data\">\n          <WidgetAddItem\n            v-for=\"definition of data.widgetDefinitions.filter(filterDefinition)\"\n            v-if=\"definition.canAddMore\"\n            :key=\"definition.id\"\n            :definition=\"definition\"\n          />\n        </template>\n      </template>\n    </ApolloQuery>\n  </div>\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      search: ''\n    }\n  },\n\n  methods: {\n    close () {\n      this.$emit('close')\n    },\n\n    filterDefinition (def) {\n      if (!this.search) return true\n\n      const reg = new RegExp(this.search.replace(/\\s+/g, '|'), 'i')\n      return def.title.match(reg) ||\n        (def.description && def.description.match(reg)) ||\n        (def.longDescription && def.longDescription.match(reg))\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.widget-add-pane\n  position relative\n  z-index 1\n  v-box()\n  box-shadow 0 0 10px rgba(black, .1)\n  background $vue-ui-color-light\n  .vue-ui-dark-mode &\n    background $vue-ui-color-darker\n\n.toolbar\n  h-box()\n  box-center()\n  margin $padding-item\n\n.search-input\n  width 100%\n\n.widgets\n  flex 1\n  overflow-x hidden\n  overflow-y auto\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddPane.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddPane.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetAddPane.vue?vue&type=template&id=6bd80f9c&scoped=true&\"\nimport script from \"./WidgetAddPane.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetAddPane.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetAddPane.vue?vue&type=style&index=0&id=6bd80f9c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6bd80f9c\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetMove\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WidgetMoveInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetMove\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":132}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetFragment.gql\\\"\\n\\nmutation widgetMove ($input: WidgetMoveInput!) {\\n  widgetMove (input: $input) {\\n    ...widget\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgetMove\"] = oneQuery(doc, \"widgetMove\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vue-ui-fade\"}},[(_vm.progress)?_c('div',{staticClass:\"loading-screen\",class:{\n      loading: _vm.loading\n    }},[_c('VueLoadingIndicator',{staticClass:\"primary big overlay fixed\"},[_c('div',{staticClass:\"content\"},[(_vm.progress.error)?_c('div',{staticClass:\"error\"},[_c('VueIcon',{staticClass:\"huge\",attrs:{\"icon\":\"error\"}}),_c('div',[_vm._v(_vm._s(_vm.progress.error))]),_c('div',{staticClass:\"actions\"},[_c('VueButton',{attrs:{\"icon-left\":\"close\",\"label\":_vm.$t('org.vue.components.progress-screen.close')},on:{\"click\":function($event){return _vm.close()}}})],1)],1):[(_vm.statusMessage)?_c('div',{staticClass:\"status\"},[_vm._v(\" \"+_vm._s(_vm.statusMessage)+\" \")]):_vm._e(),_c('div',{staticClass:\"secondary-info\"},[(_vm.progress.info)?_c('div',{staticClass:\"info\",domProps:{\"innerHTML\":_vm._s(_vm.ansiColors(_vm.progress.info))}}):_vm._e(),(_vm.progress.progress !== -1)?_c('VueLoadingBar',{attrs:{\"value\":_vm.progress.progress}}):_vm._e(),(_vm.debug)?_c('div',{staticClass:\"debug\"},[_c('pre',[_vm._v(_vm._s(_vm.debug))])]):_vm._e()],1)]],2)])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import PROGRESS from '@/graphql/progress/progress.gql'\nimport PROGRESS_CHANGED from '@/graphql/progress/progressChanged.gql'\nimport PROGRESS_REMOVED from '@/graphql/progress/progressRemoved.gql'\n\n// @vue/component\nexport default {\n  props: {\n    progressId: {\n      type: String,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      progress: null\n    }\n  },\n\n  apollo: {\n    progress: {\n      query: PROGRESS,\n      variables () {\n        return {\n          id: this.progressId\n        }\n      },\n      fetchPolicy: 'network-only',\n      subscribeToMore: [\n        {\n          document: PROGRESS_CHANGED,\n          variables () {\n            return {\n              id: this.progressId\n            }\n          },\n          updateQuery: (previousResult, { subscriptionData }) => {\n            return {\n              progress: subscriptionData.data.progressChanged\n            }\n          }\n        },\n        {\n          document: PROGRESS_REMOVED,\n          variables () {\n            return {\n              id: this.progressId\n            }\n          },\n          updateQuery: () => {\n            return {\n              progress: null\n            }\n          }\n        }\n      ]\n    }\n  },\n\n  computed: {\n    loading () {\n      return this.progress && !this.progress.error\n    },\n\n    statusMessage () {\n      if (!this.progress) return null\n\n      const { status } = this.progress\n      let message\n      if (status) {\n        const values = {}\n        if (this.progress.args) {\n          for (let i = 0, l = this.progress.args.length; i < l; i++) {\n            values[`arg${i}`] = this.progress.args[i]\n          }\n        }\n        const key = `org.vue.mixins.progress.${status}`\n        message = this.$t(key, values)\n        message = (message !== key && message)\n        if (!message) {\n          message = this.$t(status, values)\n          message = (message !== status && message)\n        }\n      }\n      return message || status || ''\n    }\n  }\n}\n","<template>\n  <transition name=\"vue-ui-fade\">\n    <div\n      v-if=\"progress\"\n      class=\"loading-screen\"\n      :class=\"{\n        loading\n      }\"\n    >\n      <VueLoadingIndicator\n        class=\"primary big overlay fixed\"\n      >\n        <div class=\"content\">\n          <div v-if=\"progress.error\" class=\"error\">\n            <VueIcon\n              icon=\"error\"\n              class=\"huge\"\n            />\n            <div>{{ progress.error }}</div>\n            <div class=\"actions\">\n              <VueButton\n                icon-left=\"close\"\n                :label=\"$t('org.vue.components.progress-screen.close')\"\n                @click=\"close()\"\n              />\n            </div>\n          </div>\n\n          <template v-else>\n            <div v-if=\"statusMessage\" class=\"status\">\n              {{ statusMessage }}\n            </div>\n\n            <div class=\"secondary-info\">\n              <div\n                v-if=\"progress.info\"\n                class=\"info\"\n                v-html=\"ansiColors(progress.info)\"\n              />\n\n              <VueLoadingBar\n                v-if=\"progress.progress !== -1\"\n                :value=\"progress.progress\"\n              />\n\n              <div v-if=\"debug\" class=\"debug\"><pre>{{ debug }}</pre></div>\n            </div>\n          </template>\n        </div>\n      </VueLoadingIndicator>\n    </div>\n  </transition>\n</template>\n\n<script>\nimport { DisableScroll } from '@vue/ui'\nimport Progress from '@/mixins/Progress'\n\nexport default {\n  mixins: [\n    DisableScroll,\n    Progress\n  ],\n\n  props: {\n    debug: String\n  },\n\n  methods: {\n    close () {\n      this.progress = null\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.loading-screen\n  position absolute\n  z-index 900\n\n  .content\n    display grid\n    grid-template-columns 1fr\n    grid-gap $padding-item\n    text-align center\n\n    .error\n      color $vue-ui-color-danger\n      v-box()\n      box-center()\n      > .vue-ui-icon\n        margin-bottom $padding-item\n        >>> svg\n          fill @color\n      .actions\n        margin-top $padding-item\n\n    .secondary-info\n      position absolute\n      bottom 42px\n      left 0\n      right 0\n      v-box()\n      box-center()\n\n    .info\n      color $color-text-light\n\n    .debug\n      color $vue-ui-color-warning\n      font-size 10px\n\n    .vue-ui-loading-bar\n      width 50vw\n      max-width 400px\n      margin-top 24px\n\n  &:not(.loading)\n    .vue-ui-loading-indicator\n      >>> .animation\n        display none\n\n  &.loading\n    .content\n      margin-top $padding-item\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressScreen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressScreen.vue?vue&type=template&id=3ba26ff4&scoped=true&\"\nimport script from \"./ProgressScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressScreen.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProgressScreen.vue?vue&type=style&index=0&id=3ba26ff4&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3ba26ff4\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddPane.vue?vue&type=style&index=0&id=6bd80f9c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddPane.vue?vue&type=style&index=0&id=6bd80f9c&lang=stylus&scoped=true&\"","const trailingSlashRE = /\\/?$/\n\nexport function isSameRoute (a, b, checkQuery = true) {\n  if (!b) {\n    return false\n  } else if (a.path && b.path) {\n    return (\n      a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n      a.hash === b.hash &&\n      (!checkQuery || isObjectEqual(a.query, b.query))\n    )\n  } else if (a.name && b.name) {\n    return (\n      a.name === b.name &&\n      a.hash === b.hash &&\n      isObjectEqual(a.params, b.params) &&\n      (!checkQuery || isObjectEqual(a.query, b.query))\n    )\n  } else {\n    return false\n  }\n}\n\nfunction isObjectEqual (a = {}, b = {}) {\n  // handle null value #1566\n  if (!a || !b) return a === b\n  const aKeys = Object.keys(a)\n  const bKeys = Object.keys(b)\n  if (aKeys.length !== bKeys.length) {\n    return false\n  }\n  return aKeys.every(key => {\n    const aVal = a[key]\n    const bVal = b[key]\n    // check nested equality\n    if (typeof aVal === 'object' && typeof bVal === 'object') {\n      return isObjectEqual(aVal, bVal)\n    }\n    return String(aVal) === String(bVal)\n  })\n}\n\nexport function isIncludedRoute (current, target) {\n  return (\n    current.path.replace(trailingSlashRE, '/').indexOf(\n      target.path.replace(trailingSlashRE, '/')\n    ) === 0 &&\n    (!target.hash || current.hash === target.hash) &&\n    queryIncludes(current.query, target.query)\n  )\n}\n\nfunction queryIncludes (current, target) {\n  for (const key in target) {\n    if (!(key in current)) {\n      return false\n    }\n  }\n  return true\n}\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPlugins.vue?vue&type=style&index=0&id=57b470b3&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPlugins.vue?vue&type=style&index=0&id=57b470b3&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-quick-dropdown\"},[(_vm.$responsive.wide)?_c('VueDropdown',{staticClass:\"current-project\",attrs:{\"label\":_vm.projectCurrent ? _vm.projectCurrent.name : _vm.$t('org.vue.components.status-bar.project.empty'),\"icon-right\":\"arrow_drop_down\",\"button-class\":\"round\"}},[(_vm.projectCurrent)?[_c('VueSwitch',{staticClass:\"extend-left\",attrs:{\"value\":_vm.projectCurrent.favorite,\"icon\":_vm.projectCurrent.favorite ? 'star' : 'star_border'},on:{\"update\":function($event){return _vm.toggleCurrentFavorite()}}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.project-select-list-item.tooltips.favorite'))+\" \")]),_c('VueDropdownButton',{attrs:{\"label\":_vm.$t('org.vue.components.project-select-list-item.tooltips.open-in-editor'),\"icon-left\":\"open_in_browser\"},on:{\"click\":function($event){return _vm.openInEditor(_vm.projectCurrent)}}}),_c('VueDropdownButton',{attrs:{\"label\":_vm.$t('org.vue.components.project-rename.title'),\"icon-left\":\"edit\"},on:{\"click\":function($event){_vm.showRename = true}}}),(_vm.projectCurrent.homepage)?_c('VueDropdownButton',{attrs:{\"href\":_vm.projectCurrent.homepage,\"label\":_vm.$t('org.vue.components.top-bar.homepage'),\"target\":\"_blank\",\"icon-left\":\"open_in_new\"}}):_vm._e()]:_vm._e(),_c('div',{staticClass:\"dropdown-separator\"}),(!_vm.favoriteProjects.length)?_c('div',{staticClass:\"vue-ui-empty\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.top-bar.no-favorites')))]):[_c('div',{staticClass:\"section-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.top-bar.favorite-projects'))+\" \")]),_vm._l((_vm.favoriteProjects),function(project){return _c('VueDropdownButton',{key:project.id,attrs:{\"label\":project.name,\"icon-left\":\"star\"},on:{\"click\":function($event){return _vm.openProject(project)}}})})],(_vm.recentProjects.length)?[_c('div',{staticClass:\"dropdown-separator\"}),_c('div',{staticClass:\"section-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.top-bar.recent-projects'))+\" \")]),_vm._l((_vm.recentProjects),function(project){return _c('VueDropdownButton',{key:project.id,attrs:{\"label\":project.name,\"icon-left\":\"restore\"},on:{\"click\":function($event){return _vm.openProject(project)}}})})]:_vm._e(),_c('div',{staticClass:\"dropdown-separator\"}),_c('VueDropdownButton',{attrs:{\"to\":{ name: 'project-select' },\"label\":_vm.$t('org.vue.views.project-select.title'),\"icon-left\":\"home\"}})],2):_vm._e(),(_vm.showRename)?_c('ProjectRename',{attrs:{\"project\":_vm.projectCurrent},on:{\"close\":function($event){_vm.showRename = false}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-quick-dropdown\">\n    <VueDropdown\n      v-if=\"$responsive.wide\"\n      :label=\"projectCurrent ? projectCurrent.name : $t('org.vue.components.status-bar.project.empty')\"\n      class=\"current-project\"\n      icon-right=\"arrow_drop_down\"\n      button-class=\"round\"\n    >\n      <!-- Current project options -->\n\n      <template v-if=\"projectCurrent\">\n        <VueSwitch\n          :value=\"projectCurrent.favorite\"\n          :icon=\"projectCurrent.favorite ? 'star' : 'star_border'\"\n          class=\"extend-left\"\n          @update=\"toggleCurrentFavorite()\"\n        >\n          {{ $t('org.vue.components.project-select-list-item.tooltips.favorite') }}\n        </VueSwitch>\n\n        <VueDropdownButton\n          :label=\"$t('org.vue.components.project-select-list-item.tooltips.open-in-editor')\"\n          icon-left=\"open_in_browser\"\n          @click=\"openInEditor(projectCurrent)\"\n        />\n\n        <VueDropdownButton\n          :label=\"$t('org.vue.components.project-rename.title')\"\n          icon-left=\"edit\"\n          @click=\"showRename = true\"\n        />\n\n        <VueDropdownButton\n          v-if=\"projectCurrent.homepage\"\n          :href=\"projectCurrent.homepage\"\n          :label=\"$t('org.vue.components.top-bar.homepage')\"\n          target=\"_blank\"\n          icon-left=\"open_in_new\"\n        />\n      </template>\n\n      <div class=\"dropdown-separator\"/>\n\n      <!-- Favorites -->\n\n      <div v-if=\"!favoriteProjects.length\" class=\"vue-ui-empty\">{{ $t('org.vue.components.top-bar.no-favorites') }}</div>\n\n      <template v-else>\n        <div class=\"section-title\">\n          {{ $t('org.vue.components.top-bar.favorite-projects') }}\n        </div>\n\n        <VueDropdownButton\n          v-for=\"project of favoriteProjects\"\n          :key=\"project.id\"\n          :label=\"project.name\"\n          icon-left=\"star\"\n          @click=\"openProject(project)\"\n        />\n      </template>\n\n      <!-- Recents -->\n\n      <template v-if=\"recentProjects.length\">\n        <div class=\"dropdown-separator\"/>\n\n        <div class=\"section-title\">\n          {{ $t('org.vue.components.top-bar.recent-projects') }}\n        </div>\n\n        <VueDropdownButton\n          v-for=\"project of recentProjects\"\n          :key=\"project.id\"\n          :label=\"project.name\"\n          icon-left=\"restore\"\n          @click=\"openProject(project)\"\n        />\n      </template>\n\n      <div class=\"dropdown-separator\"/>\n\n      <VueDropdownButton\n        :to=\"{ name: 'project-select' }\"\n        :label=\"$t('org.vue.views.project-select.title')\"\n        icon-left=\"home\"\n      />\n    </VueDropdown>\n\n    <ProjectRename\n      v-if=\"showRename\"\n      :project=\"projectCurrent\"\n      @close=\"showRename = false\"\n    />\n  </div>\n</template>\n\n<script>\nimport { resetApollo } from '@/vue-apollo'\n\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\nimport PROJECTS from '@/graphql/project/projects.gql'\nimport PROJECT_OPEN from '@/graphql/project/projectOpen.gql'\nimport PROJECT_SET_FAVORITE from '@/graphql/project/projectSetFavorite.gql'\nimport OPEN_IN_EDITOR from '@/graphql/file/fileOpenInEditor.gql'\n\nimport ProjectRename from '../project-manager/ProjectRename.vue'\n\nexport default {\n  components: {\n    ProjectRename\n  },\n\n  apollo: {\n    projectCurrent: PROJECT_CURRENT,\n    projects: PROJECTS\n  },\n\n  data () {\n    return {\n      showRename: false\n    }\n  },\n\n  computed: {\n    favoriteProjects () {\n      if (!this.projects) return []\n      return this.projects.filter(\n        p => p.favorite && (!this.projectCurrent || this.projectCurrent.id !== p.id)\n      )\n    },\n\n    recentProjects () {\n      if (!this.projects) return []\n      return this.projects.filter(\n        p => !p.favorite && (!this.projectCurrent || this.projectCurrent.id !== p.id)\n      ).sort((a, b) => b.openDate - a.openDate).slice(0, 3)\n    }\n  },\n\n  methods: {\n    async openProject (project) {\n      this.$bus('quickOpenProject', project)\n\n      await this.$apollo.mutate({\n        mutation: PROJECT_OPEN,\n        variables: {\n          id: project.id\n        }\n      })\n\n      await resetApollo()\n    },\n\n    async toggleCurrentFavorite () {\n      if (this.projectCurrent) {\n        await this.$apollo.mutate({\n          mutation: PROJECT_SET_FAVORITE,\n          variables: {\n            id: this.projectCurrent.id,\n            favorite: this.projectCurrent.favorite ? 0 : 1\n          }\n        })\n      }\n    },\n\n    async openInEditor (project) {\n      await this.$apollo.mutate({\n        mutation: OPEN_IN_EDITOR,\n        variables: {\n          input: {\n            file: project.path\n          }\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.current-project\n  width 100%\n  >>> .trigger\n    .vue-ui-button\n      .vue-ui-icon.right\n        width 20px\n        height @width\n\n.vue-ui-empty\n  padding 6px\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectQuickDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectQuickDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectQuickDropdown.vue?vue&type=template&id=46e8ea3e&scoped=true&\"\nimport script from \"./ProjectQuickDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectQuickDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectQuickDropdown.vue?vue&type=style&index=0&id=46e8ea3e&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"46e8ea3e\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedData\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedData\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":155}};\n    doc.loc.source = {\"body\":\"#import \\\"./sharedDataFragment.gql\\\"\\n\\nquery sharedData ($id: ID!, $projectId: ID!) {\\n  sharedData (id: $id, projectId: $projectId) {\\n    ...sharedData\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./sharedDataFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"sharedData\"] = oneQuery(doc, \"sharedData\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"connected\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connected\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":40}};\n    doc.loc.source = {\"body\":\"query connected {\\n  connected @client\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"connected\"] = oneQuery(doc, \"connected\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreation\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProjectCreation\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"presets\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"preset\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"features\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"feature\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"prompts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":260}};\n    doc.loc.source = {\"body\":\"#import \\\"../preset/presetFragment.gql\\\"\\n#import \\\"../feature/featureFragment.gql\\\"\\n#import \\\"../prompt/promptFragment.gql\\\"\\n\\nfragment projectCreation on ProjectCreation {\\n  presets {\\n    ...preset\\n  }\\n  features {\\n    ...feature\\n  }\\n  prompts {\\n    ...prompt\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../preset/presetFragment.gql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../feature/featureFragment.gql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n      module.exports = doc;\n    \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCreate.vue?vue&type=style&index=0&id=126d6818&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCreate.vue?vue&type=style&index=0&id=126d6818&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"viewOpen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewOpen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":54}};\n    doc.loc.source = {\"body\":\"mutation viewOpen ($id: ID!) {\\n  viewOpen (id: $id)\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"viewOpen\"] = oneQuery(doc, \"viewOpen\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionCalled\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionCalled\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionCall\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":129}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginActionCallFragment.gql\\\"\\n\\nsubscription pluginActionCalled {\\n  pluginActionCalled {\\n    ...pluginActionCall\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginActionCallFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginActionCalled\"] = oneQuery(doc, \"pluginActionCalled\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Prompt\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"visible\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"choices\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"promptChoice\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"valueChanged\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"error\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"promptError\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tabId\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":282}};\n    doc.loc.source = {\"body\":\"#import \\\"./promptChoiceFragment.gql\\\"\\n#import \\\"./promptErrorFragment.gql\\\"\\n\\nfragment prompt on Prompt {\\n  id\\n  type\\n  visible\\n  enabled\\n  name\\n  message\\n  group\\n  description\\n  link\\n  choices {\\n    ...promptChoice\\n  }\\n  value\\n  valueChanged\\n  error {\\n    ...promptError\\n  }\\n  tabId\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./promptChoiceFragment.gql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"./promptErrorFragment.gql\").definitions));\n\n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-feature-item list-item\",class:{\n    selected: _vm.feature.enabled\n  },attrs:{\"data-testid\":_vm.feature.id}},[_c('VueSwitch',{staticClass:\"extend-left\",attrs:{\"value\":_vm.feature.enabled}},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.feature.name),\"description\":_vm.$t(_vm.feature.description),\"link\":_vm.feature.link,\"selected\":_vm.feature.enabled}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"project-feature-item list-item\"\n    :class=\"{\n      selected: feature.enabled\n    }\"\n    :data-testid=\"feature.id\"\n  >\n    <VueSwitch\n      :value=\"feature.enabled\"\n      class=\"extend-left\"\n    >\n      <ListItemInfo\n        :name=\"$t(feature.name)\"\n        :description=\"$t(feature.description)\"\n        :link=\"feature.link\"\n        :selected=\"feature.enabled\"\n      />\n    </VueSwitch>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    feature: {\n      type: Object,\n      required: true\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-feature-item\n  .vue-ui-switch\n    padding $padding-item\n    width 100%\n    box-sizing border-box\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectFeatureItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectFeatureItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectFeatureItem.vue?vue&type=template&id=4c4b8350&scoped=true&\"\nimport script from \"./ProjectFeatureItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectFeatureItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectFeatureItem.vue?vue&type=style&index=0&id=4c4b8350&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4c4b8350\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLog\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ConsoleLog\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":73}};\n    doc.loc.source = {\"body\":\"fragment consoleLog on ConsoleLog {\\n  id\\n  type\\n  message\\n  tag\\n  date\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-preset-item list-item\",class:{\n    selected: _vm.selected\n  },attrs:{\"data-testid\":_vm.preset.id}},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"radio-icon\"},[_c('VueIcon',{staticClass:\"medium\",attrs:{\"icon\":_vm.selected ? 'radio_button_checked' : 'radio_button_unchecked'}})],1),_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.preset.name),\"description\":_vm.description || _vm.$t(_vm.preset.description),\"link\":_vm.preset.link,\"selected\":_vm.selected}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"project-preset-item list-item\"\n    :class=\"{\n      selected\n    }\"\n    :data-testid=\"preset.id\"\n  >\n    <div class=\"content\">\n      <div\n        class=\"radio-icon\"\n      >\n        <VueIcon\n          :icon=\"selected ? 'radio_button_checked' : 'radio_button_unchecked'\"\n          class=\"medium\"\n        />\n      </div>\n\n      <ListItemInfo\n        :name=\"$t(preset.name)\"\n        :description=\"description || $t(preset.description)\"\n        :link=\"preset.link\"\n        :selected=\"selected\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    preset: {\n      type: Object,\n      required: true\n    },\n\n    selected: {\n      type: Boolean,\n      required: true\n    },\n\n    description: {\n      type: String,\n      default: null\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-preset-item\n  padding $padding-item\n  padding-left 0\n\n  .content\n    display grid\n    grid-template-columns 64px auto\n    grid-template-rows auto\n    grid-template-areas \"icon info\"\n\n  .radio-icon\n    h-box()\n    box-center()\n    grid-area icon\n\n  .list-item-info\n    grid-area info\n\n  &.selected\n    .radio-icon\n      >>> svg\n        fill $vue-ui-color-primary\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPresetItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPresetItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectPresetItem.vue?vue&type=template&id=79290378&scoped=true&\"\nimport script from \"./ProjectPresetItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectPresetItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectPresetItem.vue?vue&type=style&index=0&id=79290378&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"79290378\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.component)?_c(_vm.component,{tag:\"component\"}):(_vm.timeout)?_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"cake\"}}),_c('div',{staticClass:\"timeout-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.client-addon-component.timeout'))+\" \")]),_c('div',{staticClass:\"timeout-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.client-addon-component.timeout-info'))+\" \")])],1):_c('div',{staticClass:\"loading\"},[_c('VueLoadingIndicator')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <component\n    v-if=\"component\"\n    :is=\"component\"\n  />\n  <div v-else-if=\"timeout\" class=\"vue-ui-empty\">\n    <VueIcon\n      icon=\"cake\"\n      class=\"big\"\n    />\n    <div class=\"timeout-title\">\n      {{ $t('org.vue.components.client-addon-component.timeout') }}\n    </div>\n    <div class=\"timeout-info\">\n      {{ $t('org.vue.components.client-addon-component.timeout-info') }}\n    </div>\n  </div>\n  <div v-else class=\"loading\">\n    <VueLoadingIndicator />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    name: {\n      type: String,\n      default: null\n    }\n  },\n\n  data () {\n    return {\n      component: null,\n      timeout: false\n    }\n  },\n\n  watch: {\n    name: {\n      handler: 'updateComponent',\n      immediate: true\n    }\n  },\n\n  methods: {\n    async updateComponent () {\n      setTimeout(() => {\n        if (!this.component) {\n          this.timeout = true\n        }\n      }, 5000)\n      this.component = await ClientAddonApi.awaitComponent(this.name)\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.loading\n  v-box()\n  box-center()\n  padding 42px\n\n.timeout-info\n  max-width 200px\n  font-size 10px\n  margin auto\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientAddonComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientAddonComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientAddonComponent.vue?vue&type=template&id=2b95752e&scoped=true&\"\nimport script from \"./ClientAddonComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientAddonComponent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClientAddonComponent.vue?vue&type=style&index=0&id=2b95752e&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2b95752e\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"views\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"views\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"view\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":72}};\n    doc.loc.source = {\"body\":\"#import \\\"./viewFragment.gql\\\"\\n\\nquery views {\\n  views {\\n    ...view\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./viewFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"views\"] = oneQuery(doc, \"views\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginItem.vue?vue&type=style&index=0&id=9b84856a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginItem.vue?vue&type=style&index=0&id=9b84856a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLog\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":96}};\n    doc.loc.source = {\"body\":\"#import \\\"./consoleLogFragment.gql\\\"\\n\\nquery consoleLogs {\\n  consoleLogs {\\n    ...consoleLog\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./consoleLogFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"consoleLogs\"] = oneQuery(doc, \"consoleLogs\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptConfirm.vue?vue&type=style&index=0&id=01a5ec3e&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptConfirm.vue?vue&type=style&index=0&id=01a5ec3e&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurations.vue?vue&type=style&index=0&id=0e341be2&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurations.vue?vue&type=style&index=0&id=0e341be2&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"taskChanged\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskChanged\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":91}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskFragment.gql\\\"\\n\\nsubscription taskChanged {\\n  taskChanged {\\n    ...task\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskChanged\"] = oneQuery(doc, \"taskChanged\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginLogo\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"pluginLogo\"},\"name\":{\"kind\":\"Name\",\"value\":\"plugin\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":85}};\n    doc.loc.source = {\"body\":\"query pluginLogo ($id: ID!) {\\n  pluginLogo: plugin (id: $id) {\\n    id\\n    logo\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginLogo\"] = oneQuery(doc, \"pluginLogo\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-view\"},[(_vm.title)?_c('portal',{attrs:{\"to\":\"top-title\"}},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('portal',{attrs:{\"to\":\"top-actions\"}},[_vm._t(\"actions\")],2),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"wrapper\"},[_vm._t(\"default\")],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"content-view\">\n    <portal v-if=\"title\" to=\"top-title\">{{ title }}</portal>\n    <portal to=\"top-actions\">\n      <slot name=\"actions\"/>\n    </portal>\n\n    <div class=\"content\">\n      <div class=\"wrapper\">\n        <slot/>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    title: {\n      type: String,\n      default: null\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.content-view\n  height 100%\n\n  .content,\n  .wrapper\n    width 100%\n    height 100%\n    box-sizing border-box\n\n  .content\n    background $content-bg-secondary-light\n    .vue-ui-dark-mode &\n      background $content-bg-secondary-dark\n    .wrapper\n      background $content-bg-primary-light\n      position relative\n      overflow-x hidden\n      overflow-y auto\n      .vue-ui-dark-mode &\n        background $content-bg-primary-dark\n\n  &.list\n    .wrapper\n      background $content-bg-list-light\n      .vue-ui-dark-mode &\n        background $content-bg-list-dark\n\n  &.limit-width\n    .wrapper\n      @media (min-width 1420px)\n        max-width 1200px\n        margin auto\n        $br2 = ($br * 2)\n        border-radius $br2 $br2 0 0\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContentView.vue?vue&type=template&id=18683bcf&scoped=true&\"\nimport script from \"./ContentView.vue?vue&type=script&lang=js&\"\nexport * from \"./ContentView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContentView.vue?vue&type=style&index=0&id=18683bcf&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"18683bcf\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDashboard.vue?vue&type=style&index=0&id=72cde023&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDashboard.vue?vue&type=style&index=0&id=72cde023&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDisable',{staticClass:\"prompt prompt-confirm\",attrs:{\"disabled\":!_vm.prompt.enabled}},[_c('VueSwitch',{staticClass:\"extend-left\",attrs:{\"value\":_vm.value(_vm.prompt.value)},on:{\"update\":function (value) { return _vm.answer(value); }}},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.prompt.message),\"description\":_vm.$t(_vm.prompt.description),\"link\":_vm.prompt.link}})],1),_c('PromptError',{attrs:{\"error\":_vm.prompt.error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDisable\n    :disabled=\"!prompt.enabled\"\n    class=\"prompt prompt-confirm\"\n  >\n    <VueSwitch\n      :value=\"value(prompt.value)\"\n      class=\"extend-left\"\n      @update=\"value => answer(value)\"\n    >\n      <ListItemInfo\n        :name=\"$t(prompt.message)\"\n        :description=\"$t(prompt.description)\"\n        :link=\"prompt.link\"\n      />\n    </VueSwitch>\n\n    <PromptError :error=\"prompt.error\"/>\n  </VueDisable>\n</template>\n\n<script>\nimport Prompt from './Prompt'\n\nexport default {\n  extends: Prompt\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.prompt-confirm\n  .vue-ui-switch\n    padding $padding-item\n    width 100%\n    box-sizing border-box\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptConfirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptConfirm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptConfirm.vue?vue&type=template&id=01a5ec3e&scoped=true&\"\nimport script from \"./PromptConfirm.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptConfirm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PromptConfirm.vue?vue&type=style&index=0&id=01a5ec3e&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"01a5ec3e\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptEditor.vue?vue&type=style&index=0&id=4434277c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptEditor.vue?vue&type=style&index=0&id=4434277c&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorerItem.vue?vue&type=style&index=0&id=3200338a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorerItem.vue?vue&type=style&index=0&id=3200338a&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list-item-info\",class:{\n    selected: _vm.selected\n  }},[_c('div',{staticClass:\"name\"},[_vm._t(\"name\",[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.ansiColors(_vm.name))}})])],2),(_vm.description || _vm.link || _vm.showDescription)?_c('div',{staticClass:\"description\"},[_vm._t(\"description\",[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.ansiColors(_vm.description))}})]),(_vm.link)?_c('a',{staticClass:\"more-info\",attrs:{\"href\":_vm.link,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return (function () {})($event)}}},[_c('VueIcon',{staticClass:\"medium top\",attrs:{\"icon\":\"open_in_new\"}}),_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.list-item-info.more-info'))+\" \")],1):_vm._e()],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"list-item-info\"\n    :class=\"{\n      selected\n    }\"\n  >\n    <div class=\"name\">\n      <slot name=\"name\">\n        <span v-html=\"ansiColors(name)\"/>\n      </slot>\n    </div>\n    <div v-if=\"description || link || showDescription\" class=\"description\">\n      <slot name=\"description\">\n        <span v-html=\"ansiColors(description)\"/>\n      </slot>\n      <a\n        v-if=\"link\"\n        :href=\"link\"\n        target=\"_blank\"\n        class=\"more-info\"\n        @click.stop=\"() => {}\"\n      >\n        <VueIcon icon=\"open_in_new\" class=\"medium top\"/>\n        {{ $t('org.vue.components.list-item-info.more-info') }}\n      </a>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    description: {\n      type: String,\n      default: ''\n    },\n\n    link: {\n      type: String,\n      default: null\n    },\n\n    name: {\n      type: String,\n      default: null\n    },\n\n    selected: {\n      type: Boolean,\n      default: false\n    },\n\n    showDescription: {\n      type: Boolean,\n      default: false\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.list-item-info\n  v-box()\n  align-items stretch\n  justify-content center\n\n  .description\n    color $color-text-light\n\n    >>> :first-child\n      margin-right 4px\n\n    >>> .vue-ui-icon\n      svg\n        fill @color\n\n    .more-info\n      color $vue-ui-color-primary\n      padding 0 4px 0 2px\n      border-radius $br\n      display inline-block\n      .vue-ui-icon\n        >>> svg\n          fill @color\n      &:hover\n        color $vue-ui-color-light\n        background $vue-ui-color-primary\n        .vue-ui-icon\n          >>> svg\n            fill @color\n      &:active\n        background darken($vue-ui-color-primary, 10%)\n\n  &.selected\n    .name\n      color $vue-ui-color-primary\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListItemInfo.vue?vue&type=template&id=4001a578&scoped=true&\"\nimport script from \"./ListItemInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./ListItemInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ListItemInfo.vue?vue&type=style&index=0&id=4001a578&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4001a578\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChunk.vue?vue&type=style&index=0&id=2db99afb&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChunk.vue?vue&type=style&index=0&id=2db99afb&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasksDropdown.vue?vue&type=style&index=0&id=7a5ea0e6&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasksDropdown.vue?vue&type=style&index=0&id=7a5ea0e6&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"dependency\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Dependency\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"website\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":71}};\n    doc.loc.source = {\"body\":\"fragment dependency on Dependency {\\n  id\\n  type\\n  installed\\n  website\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHome.vue?vue&type=style&index=0&id=2a0d3bdd&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHome.vue?vue&type=style&index=0&id=2a0d3bdd&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginFinishInstall\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginFinishInstall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":131}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginInstallationFragment.gql\\\"\\n\\nmutation pluginFinishInstall {\\n  pluginFinishInstall {\\n    ...pluginInstallation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginInstallationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginFinishInstall\"] = oneQuery(doc, \"pluginFinishInstall\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBarItem.vue?vue&type=style&index=0&id=624b111e&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBarItem.vue?vue&type=style&index=0&id=624b111e&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"fileDiffs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileDiffs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"new\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"binary\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chunks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"oldStart\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"oldLines\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newStart\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newLines\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"changes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ln\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ln1\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ln2\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"normal\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":274}};\n    doc.loc.source = {\"body\":\"query fileDiffs {\\n  fileDiffs {\\n    id\\n    from\\n    to\\n    new\\n    deleted\\n    binary\\n    chunks {\\n      oldStart\\n      oldLines\\n      newStart\\n      newLines\\n      changes {\\n        type\\n        ln\\n        ln1\\n        ln2\\n        content\\n        normal\\n      }\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"fileDiffs\"] = oneQuery(doc, \"fileDiffs\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogLast\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogLast\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLog\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":102}};\n    doc.loc.source = {\"body\":\"#import \\\"./consoleLogFragment.gql\\\"\\n\\nquery consoleLogLast {\\n  consoleLogLast {\\n    ...consoleLog\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./consoleLogFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"consoleLogLast\"] = oneQuery(doc, \"consoleLogLast\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddonAdded\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddonAdded\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddon\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":115}};\n    doc.loc.source = {\"body\":\"#import \\\"./clientAddonFragment.gql\\\"\\n\\nsubscription clientAddonAdded {\\n  clientAddonAdded {\\n    ...clientAddon\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./clientAddonFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"clientAddonAdded\"] = oneQuery(doc, \"clientAddonAdded\");\n        \n","import { isSameRoute } from '../util/route'\n\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\n\nexport default function ({\n  baseRoute = null\n} = {}) {\n  let lastRoute\n\n  // @vue/component\n  return {\n    apollo: {\n      projectCurrent: PROJECT_CURRENT\n    },\n\n    watch: {\n      projectCurrent (value) {\n        if (!this.$_restoreRouteReady) return\n        this.replaceBaseRoute()\n      }\n    },\n\n    bus: {\n      quickOpenProject (project) {\n        this.replaceBaseRoute()\n      }\n    },\n\n    beforeRouteEnter (to, from, next) {\n      if (lastRoute) {\n        if (!to.params || !Object.keys(to.params).length) {\n          const { name, params, query } = lastRoute\n          next({ name, params, query })\n          return\n        }\n        lastRoute = null\n      }\n      next()\n    },\n\n    beforeRouteLeave (to, from, next) {\n      if (from.params && Object.keys(from.params).length) {\n        lastRoute = from\n      }\n      next()\n    },\n\n    mounted () {\n      setTimeout(() => {\n        this.$_restoreRouteReady = true\n      }, 100)\n    },\n\n    methods: {\n      replaceBaseRoute () {\n        if (baseRoute && !isSameRoute(this.$route, baseRoute, false)) {\n          this.$router.replace(baseRoute)\n        }\n      }\n    }\n  }\n}\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyUninstall\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DependencyUninstall\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyUninstall\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"dependency\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":162}};\n    doc.loc.source = {\"body\":\"#import \\\"./dependencyFragment.gql\\\"\\n\\nmutation dependencyUninstall ($input: DependencyUninstall!) {\\n  dependencyUninstall (input: $input) {\\n    ...dependency\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./dependencyFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"dependencyUninstall\"] = oneQuery(doc, \"dependencyUninstall\");\n        \n","export function isValidName (name) {\n  return !name.match(/[/@\\s+%:]|^[_.]/) && encodeURIComponent(name) === name && name.length <= 214\n}\n\nexport function isValidMultiName (name) {\n  name = name.replace(/\\\\/g, '/')\n  return name.split('/').every(isValidName)\n}\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=68cd19b0&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=68cd19b0&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueModal',{staticClass:\"medium anchor\",attrs:{\"title\":_vm.$t('org.vue.components.project-rename.title')},on:{\"close\":function($event){return _vm.$emit('close')}}},[_c('div',{staticClass:\"default-body\"},[_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.components.project-rename.name-field.title'),\"subtitle\":_vm.$t('org.vue.components.project-rename.name-field.subtitle')}},[_c('VueInput',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"big\",attrs:{\"icon-left\":\"folder\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.rename()}},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}})],1)],1),_c('div',{staticClass:\"actions\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat big close\",attrs:{\"label\":_vm.$t('org.vue.common.cancel')},on:{\"click\":function($event){return _vm.$emit('close')}}}),_c('VueButton',{staticClass:\"primary big\",attrs:{\"label\":_vm.$t('org.vue.components.project-rename.submit')},on:{\"click\":function($event){return _vm.rename()}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueModal\n    :title=\"$t('org.vue.components.project-rename.title')\"\n    class=\"medium anchor\"\n    @close=\"$emit('close')\"\n  >\n    <div class=\"default-body\">\n      <VueFormField\n        :title=\"$t('org.vue.components.project-rename.name-field.title')\"\n        :subtitle=\"$t('org.vue.components.project-rename.name-field.subtitle')\"\n      >\n        <VueInput\n          v-model=\"newName\"\n          icon-left=\"folder\"\n          v-focus\n          class=\"big\"\n          @keyup.enter=\"rename()\"\n        />\n      </VueFormField>\n    </div>\n\n    <div slot=\"footer\" class=\"actions\">\n      <VueButton\n        :label=\"$t('org.vue.common.cancel')\"\n        class=\"flat big close\"\n        @click=\"$emit('close')\"\n      />\n\n      <VueButton\n        class=\"primary big\"\n        :label=\"$t('org.vue.components.project-rename.submit')\"\n        @click=\"rename()\"\n      />\n    </div>\n  </VueModal>\n</template>\n\n<script>\nimport gql from 'graphql-tag'\n\nexport default {\n  props: {\n    project: {\n      type: Object,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      newName: this.project.name,\n      loading: false\n    }\n  },\n\n  methods: {\n    async rename () {\n      this.loading = true\n\n      await this.$apollo.mutate({\n        mutation: gql`\n          mutation renameProject ($id: ID!, $name: String!) {\n            projectRename (id: $id, name: $name) {\n              id\n              name\n            }\n          }\n        `,\n        variables: {\n          id: this.project.id,\n          name: this.newName\n        }\n      })\n\n      this.$emit('close')\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectRename.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectRename.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectRename.vue?vue&type=template&id=52527046&\"\nimport script from \"./ProjectRename.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectRename.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestion\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Suggestion\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"importance\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"image\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actionLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"busy\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":115}};\n    doc.loc.source = {\"body\":\"fragment suggestion on Suggestion {\\n  id\\n  type\\n  importance\\n  label\\n  message\\n  image\\n  link\\n  actionLink\\n  busy\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginsAdd.vue?vue&type=style&index=0&id=290be5fe&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginsAdd.vue?vue&type=style&index=0&id=290be5fe&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-plugins page\"},[_c('ContentView',{staticClass:\"limit-width list\",attrs:{\"title\":_vm.$t('org.vue.views.project-plugins.title')}},[_c('template',{slot:\"actions\"},[_c('VueInput',{staticClass:\"round\",attrs:{\"icon-left\":\"search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('VueButton',{staticClass:\"primary round\",attrs:{\"icon-left\":\"add\",\"label\":_vm.$t('org.vue.views.project-plugins.button'),\"to\":{ name: 'project-plugins-add' },\"data-testid\":\"add-plugin\"}}),_c('VueDropdown',[_c('VueButton',{staticClass:\"icon-button flat round\",attrs:{\"slot\":\"trigger\",\"icon-left\":\"more_vert\"},slot:\"trigger\"}),_c('VueDropdownButton',{attrs:{\"icon-left\":\"file_download\",\"label\":_vm.$t('org.vue.views.project-plugins.update-all')},on:{\"click\":function($event){return _vm.updateAll()}}})],1)],1),_c('ApolloQuery',{attrs:{\"query\":require('@/graphql/plugin/plugins.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar ref_result = ref.result;\nvar data = ref_result.data;\nvar loading = ref_result.loading;\nreturn [_c('div',{staticClass:\"cta-text\"},[_vm._v(_vm._s(_vm.$t('org.vue.views.project-plugins.heading')))]),(loading && (!data || !data.plugins))?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):(data)?_c('ListFilter',{staticClass:\"plugins\",attrs:{\"list\":data.plugins,\"filter\":function (item) { return !_vm.search || item.id.includes(_vm.search); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar list = ref.list;\nreturn _vm._l((list),function(plugin){return _c('ProjectPluginItem',{key:plugin.id,attrs:{\"plugin\":plugin}})})}}],null,true)}):_vm._e()]}}])})],2),_c('ProgressScreen',{attrs:{\"progress-id\":\"plugin-update\"}}),_c('ProgressScreen',{attrs:{\"progress-id\":\"plugins-update\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-plugins page\">\n    <ContentView\n      :title=\"$t('org.vue.views.project-plugins.title')\"\n      class=\"limit-width list\"\n    >\n      <template slot=\"actions\">\n        <VueInput\n          v-model=\"search\"\n          icon-left=\"search\"\n          class=\"round\"\n        />\n\n        <VueButton\n          icon-left=\"add\"\n          :label=\"$t('org.vue.views.project-plugins.button')\"\n          class=\"primary round\"\n          :to=\"{ name: 'project-plugins-add' }\"\n          data-testid=\"add-plugin\"\n        />\n\n        <VueDropdown>\n          <VueButton\n            slot=\"trigger\"\n            icon-left=\"more_vert\"\n            class=\"icon-button flat round\"\n          />\n\n          <VueDropdownButton\n            icon-left=\"file_download\"\n            :label=\"$t('org.vue.views.project-plugins.update-all')\"\n            @click=\"updateAll()\"\n          />\n        </VueDropdown>\n      </template>\n\n      <ApolloQuery\n        :query=\"require('@/graphql/plugin/plugins.gql')\"\n      >\n        <template slot-scope=\"{ result: { data, loading } }\">\n          <div class=\"cta-text\">{{ $t('org.vue.views.project-plugins.heading') }}</div>\n\n          <VueLoadingIndicator\n            v-if=\"loading && (!data || !data.plugins)\"\n            class=\"overlay\"\n          />\n\n          <ListFilter\n            v-else-if=\"data\"\n            class=\"plugins\"\n            :list=\"data.plugins\"\n            :filter=\"item => !search || item.id.includes(search)\"\n          >\n            <template slot-scope=\"{ list }\">\n              <ProjectPluginItem\n                v-for=\"plugin of list\"\n                :key=\"plugin.id\"\n                :plugin=\"plugin\"\n              />\n            </template>\n          </ListFilter>\n        </template>\n      </ApolloQuery>\n    </ContentView>\n\n    <ProgressScreen progress-id=\"plugin-update\"/>\n    <ProgressScreen progress-id=\"plugins-update\"/>\n  </div>\n</template>\n\n<script>\nimport PLUGINS_UPDATE from '@/graphql/plugin/pluginsUpdate.gql'\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\nimport PLUGINS from '@/graphql/plugin/plugins.gql'\n\nexport default {\n  name: 'ProjectPlugins',\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-plugins.title')\n    }\n  },\n\n  data () {\n    return {\n      search: ''\n    }\n  },\n\n  apollo: {\n    projectCurrent: PROJECT_CURRENT\n  },\n\n  bus: {\n    quickOpenProject (project) {\n      this.$apollo.getClient().writeQuery({\n        query: PLUGINS,\n        data: {\n          plugins: null\n        }\n      })\n    }\n  },\n\n  methods: {\n    updateAll () {\n      return this.$apollo.mutate({\n        mutation: PLUGINS_UPDATE\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-plugins\n  .content-view /deep/ > .content\n    overflow-y auto\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPlugins.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPlugins.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectPlugins.vue?vue&type=template&id=57b470b3&scoped=true&\"\nimport script from \"./ProjectPlugins.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectPlugins.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectPlugins.vue?vue&type=style&index=0&id=57b470b3&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"57b470b3\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginUpdate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"full\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginUpdate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"full\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"full\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":183}};\n    doc.loc.source = {\"body\":\"#import \\\"../version/versionFragment.gql\\\"\\n\\nmutation pluginUpdate ($id: ID!, $full: Boolean) {\\n  pluginUpdate (id: $id, full: $full) {\\n    id\\n    version {\\n      ...version\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../version/versionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginUpdate\"] = oneQuery(doc, \"pluginUpdate\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"about page\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('org.vue.views.about.title')))]),_c('p',{staticClass:\"description\",domProps:{\"innerHTML\":_vm._s(_vm.$t('org.vue.views.about.description'))}}),_c('blockquote',{staticClass:\"quote\",domProps:{\"textContent\":_vm._s(_vm.$t('org.vue.views.about.quote'))}}),_vm._m(0),_c('h2',[_vm._v(_vm._s(_vm.$t('org.vue.views.about.links')))]),_c('div',{staticClass:\"links vue-ui-grid default-gap\"},[_c('VueButton',{attrs:{\"href\":\"https://github.com/vuejs/vue-cli\",\"target\":\"_blank\"}},[_vm._v(\"Repository\")]),_c('VueButton',{attrs:{\"href\":\"https://cli.vuejs.org\",\"target\":\"_blank\"}},[_vm._v(\"Documentation\")]),_c('VueButton',{attrs:{\"href\":\"https://vuejs.org/v2/guide/\",\"target\":\"_blank\"}},[_vm._v(\"Vue.js Guide\")]),_c('VueButton',{attrs:{\"href\":\"https://vuejs.org/v2/api/\",\"target\":\"_blank\"}},[_vm._v(\"Vue.js API reference\")]),_c('VueButton',{attrs:{\"href\":\"https://forum.vuejs.org/\",\"target\":\"_blank\"}},[_vm._v(\"Vue.js Forums\")]),_c('VueButton',{attrs:{\"href\":\"https://chat.vuejs.org/\",\"target\":\"_blank\"}},[_vm._v(\"Vue.js Chat\")])],1),_c('div',{staticClass:\"actions\"},[_c('VueButton',{staticClass:\"primary big\",attrs:{\"to\":_vm.previousRoute,\"left-icon\":\"arrow_back\",\"label\":_vm.$t('org.vue.views.about.back')}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"- \"),_c('a',{attrs:{\"href\":\"https://github.com/Akryum\",\"target\":\"_blank\"}},[_vm._v(\"Guillaume Chau\")])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"about page\">\n    <h1>{{ $t('org.vue.views.about.title') }}</h1>\n\n    <p class=\"description\" v-html=\"$t('org.vue.views.about.description')\"/>\n\n    <blockquote class=\"quote\" v-text=\"$t('org.vue.views.about.quote')\"/>\n\n    <p>- <a href=\"https://github.com/Akryum\" target=\"_blank\">Guillaume Chau</a></p>\n\n    <h2>{{ $t('org.vue.views.about.links') }}</h2>\n\n    <div class=\"links vue-ui-grid default-gap\">\n      <VueButton href=\"https://github.com/vuejs/vue-cli\" target=\"_blank\">Repository</VueButton>\n      <VueButton href=\"https://cli.vuejs.org\" target=\"_blank\">Documentation</VueButton>\n      <VueButton href=\"https://vuejs.org/v2/guide/\" target=\"_blank\">Vue.js Guide</VueButton>\n      <VueButton href=\"https://vuejs.org/v2/api/\" target=\"_blank\">Vue.js API reference</VueButton>\n      <VueButton href=\"https://forum.vuejs.org/\" target=\"_blank\">Vue.js Forums</VueButton>\n      <VueButton href=\"https://chat.vuejs.org/\" target=\"_blank\">Vue.js Chat</VueButton>\n    </div>\n\n    <div class=\"actions\">\n      <VueButton\n        :to=\"previousRoute\"\n        class=\"primary big\"\n        left-icon=\"arrow_back\"\n        :label=\"$t('org.vue.views.about.back')\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.about.title')\n    }\n  },\n\n  data () {\n    return {\n      previousRoute: { name: 'home' }\n    }\n  },\n\n  beforeRouteEnter (to, from, next) {\n    next(vm => {\n      if (from) vm.previousRoute = from.fullPath\n    })\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.about\n  padding 42px\n  max-width 840px\n  margin 0 auto\n  box-sizing border-box\n\n  .quote\n    border-left solid 4px rgba($vue-ui-color-primary, .3)\n    margin-left 0\n    padding-left $padding-item\n    color lighten($vue-ui-color-dark, 30%)\n\n  .links\n    grid-template-columns repeat(auto-fill, 180px)\n\n  .actions\n    margin-top @padding\n    h-box()\n    box-center()\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=74eeb262&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\nimport style0 from \"./About.vue?vue&type=style&index=0&id=74eeb262&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"74eeb262\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetConfigOpen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetConfigOpen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":122}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetFragment.gql\\\"\\n\\nmutation widgetConfigOpen ($id: ID!) {\\n  widgetConfigOpen (id: $id) {\\n    ...widget\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgetConfigOpen\"] = oneQuery(doc, \"widgetConfigOpen\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Prompt.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Prompt.vue?vue&type=style&index=0&lang=stylus&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDropdown',{staticClass:\"project-tasks-dropdown\",attrs:{\"placement\":\"right\"},nativeOn:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.countPerStatus.running ? _vm.$t('org.vue.components.project-tasks-dropdown.tooltips.running-tasks', { count: _vm.countPerStatus.running }) : _vm.$t('org.vue.components.project-tasks-dropdown.tooltips.tasks')),expression:\"countPerStatus.running ? $t('org.vue.components.project-tasks-dropdown.tooltips.running-tasks', { count: countPerStatus.running }) : $t('org.vue.components.project-tasks-dropdown.tooltips.tasks')\"}],staticClass:\"menu-trigger\",class:_vm.bulletClass,attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('div',{staticClass:\"bullet\"})]),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"pane-toolbar\"},[_c('VueIcon',{attrs:{\"icon\":\"assignment\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-tasks-dropdown.tooltips.tasks')))]),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.logger-view.buttons.close')),expression:\"$t('org.vue.components.logger-view.buttons.close')\"},{name:\"close-popover\",rawName:\"v-close-popover\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"close\"}})],1),_c('div',{staticClass:\"tasks\"},[_vm._l((_vm.tasks),function(task){return _c('TaskItem',{key:task.id,attrs:{\"task\":task},nativeOn:{\"click\":function($event){return _vm.openTask(task)}}},[(task.status !== 'running')?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.views.project-task-details.actions.play')),expression:\"$t('org.vue.views.project-task-details.actions.play')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"play_arrow\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.openTask(task, true)}}}):_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.views.project-task-details.actions.stop')),expression:\"$t('org.vue.views.project-task-details.actions.stop')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"stop\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.stopTask(task)}}})],1)}),(_vm.loading)?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):_vm._e()],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDropdown\n    class=\"project-tasks-dropdown\"\n    placement=\"right\"\n    @click.native.prevent.stop\n  >\n    <div\n      slot=\"trigger\"\n      class=\"menu-trigger\"\n      :class=\"bulletClass\"\n      v-tooltip=\"countPerStatus.running ? $t('org.vue.components.project-tasks-dropdown.tooltips.running-tasks', { count: countPerStatus.running }) : $t('org.vue.components.project-tasks-dropdown.tooltips.tasks')\"\n    >\n      <div class=\"bullet\"/>\n    </div>\n\n    <div class=\"content\">\n      <div class=\"pane-toolbar\">\n        <VueIcon icon=\"assignment\"/>\n        <div class=\"title\">{{ $t('org.vue.components.project-tasks-dropdown.tooltips.tasks') }}</div>\n        <VueButton\n          class=\"icon-button flat\"\n          icon-left=\"close\"\n          v-tooltip=\"$t('org.vue.components.logger-view.buttons.close')\"\n          v-close-popover\n        />\n      </div>\n\n      <div class=\"tasks\">\n        <TaskItem\n          v-for=\"task of tasks\"\n          :key=\"task.id\"\n          :task=\"task\"\n          @click.native=\"openTask(task)\"\n        >\n          <VueButton\n            v-if=\"task.status !== 'running'\"\n            icon-left=\"play_arrow\"\n            class=\"icon-button\"\n            v-tooltip=\"$t('org.vue.views.project-task-details.actions.play')\"\n            @click.stop=\"openTask(task, true)\"\n          />\n          <VueButton\n            v-else\n            icon-left=\"stop\"\n            class=\"icon-button\"\n            v-tooltip=\"$t('org.vue.views.project-task-details.actions.stop')\"\n            @click.stop=\"stopTask(task)\"\n          />\n        </TaskItem>\n\n        <VueLoadingIndicator\n          v-if=\"loading\"\n          class=\"overlay\"\n        />\n      </div>\n    </div>\n  </VueDropdown>\n</template>\n\n<script>\nimport TASK_CHANGED from '@/graphql/task/taskChanged.gql'\nimport TASK_RUN from '@/graphql/task/taskRun.gql'\nimport TASK_STOP from '@/graphql/task/taskStop.gql'\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\nimport PROJECT_OPEN from '@/graphql/project/projectOpen.gql'\n\nexport default {\n  props: {\n    tasks: {\n      type: Array,\n      required: true\n    },\n\n    tooltip: {\n      type: String,\n      default: null\n    }\n  },\n\n  data () {\n    return {\n      loading: false\n    }\n  },\n\n  apollo: {\n    projectCurrent: PROJECT_CURRENT,\n\n    $subscribe: {\n      taskChanged: {\n        query: TASK_CHANGED\n      }\n    }\n  },\n\n  computed: {\n    countPerStatus () {\n      const map = {}\n      for (const task of this.tasks) {\n        if (!map[task.status]) {\n          map[task.status] = 1\n        } else {\n          map[task.status]++\n        }\n      }\n      return map\n    },\n\n    bulletClass () {\n      if (this.countPerStatus.running) {\n        return 'running'\n      }\n      return 'idle'\n    }\n  },\n\n  methods: {\n    async openTask (task, run = false) {\n      this.loading = true\n\n      if (!this.projectCurrent || task.project.id !== this.projectCurrent.id) {\n        await this.$apollo.mutate({\n          mutation: PROJECT_OPEN,\n          variables: {\n            id: task.project.id\n          }\n        })\n      }\n\n      this.$router.push({\n        name: 'project-tasks',\n        query: { id: task.id }\n      })\n\n      if (run) {\n        await this.$apollo.mutate({\n          mutation: TASK_RUN,\n          variables: {\n            id: task.id\n          }\n        })\n      }\n    },\n\n    stopTask (task) {\n      this.$apollo.mutate({\n        mutation: TASK_STOP,\n        variables: {\n          id: task.id\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\nbullet-color($color)\n  .bullet\n    background-color $color\n  &:hover\n    .bullet\n      background-color lighten($color, 20%)\n\n.bullet\n  width 8px\n  height @width\n  border-radius 50%\n\n.menu-trigger\n  width 20px !important\n  height @width\n  h-box()\n  box-center()\n\n  &.running\n    bullet-color($vue-ui-color-info)\n  &.idle\n    bullet-color(darken($vue-ui-color-light, 10%))\n    .vue-ui-dark-mode &\n      bullet-color(lighten($vue-ui-color-dark, 5%))\n\n.tasks\n  width 400px\n  max-height 400px\n  overflow-y auto\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasksDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasksDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectTasksDropdown.vue?vue&type=template&id=7a5ea0e6&scoped=true&\"\nimport script from \"./ProjectTasksDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectTasksDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectTasksDropdown.vue?vue&type=style&index=0&id=7a5ea0e6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7a5ea0e6\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyInstall\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DependencyInstall\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyInstall\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"dependency\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":156}};\n    doc.loc.source = {\"body\":\"#import \\\"./dependencyFragment.gql\\\"\\n\\nmutation dependencyInstall ($input: DependencyInstall!) {\\n  dependencyInstall (input: $input) {\\n    ...dependency\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./dependencyFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"dependencyInstall\"] = oneQuery(doc, \"dependencyInstall\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.totalResults > 0),expression:\"totalResults > 0\"}],staticClass:\"instant-search-pagination\"},[_c('div',{staticClass:\"content\"},[_c('VueButton',{staticClass:\"icon-button\",attrs:{\"icon-left\":\"first_page\",\"disabled\":_vm.page === 1},on:{\"click\":function($event){return _vm.goToFirstPage()}}}),_c('VueButton',{staticClass:\"icon-button\",attrs:{\"icon-left\":\"chevron_left\",\"disabled\":_vm.page === 1},on:{\"click\":function($event){return _vm.goToPreviousPage()}}}),_vm._l((_vm.pages),function(item){return _c('VueButton',{key:item,staticClass:\"icon-button\",class:{\n        primary: _vm.page === item\n      },attrs:{\"label\":item.toString()},on:{\"click\":function($event){return _vm.goToPage(item)}}})}),_c('VueButton',{staticClass:\"icon-button\",attrs:{\"icon-left\":\"chevron_right\",\"disabled\":_vm.page >= _vm.totalPages},on:{\"click\":function($event){return _vm.goToNextPage()}}}),_c('VueButton',{staticClass:\"icon-button\",attrs:{\"icon-left\":\"last_page\",\"disabled\":_vm.page >= _vm.totalPages},on:{\"click\":function($event){return _vm.goToLastPage()}}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    v-show=\"totalResults > 0\"\n    class=\"instant-search-pagination\"\n  >\n    <div class=\"content\">\n      <VueButton\n        class=\"icon-button\"\n        icon-left=\"first_page\"\n        :disabled=\"page === 1\"\n        @click=\"goToFirstPage()\"\n      />\n\n      <VueButton\n        class=\"icon-button\"\n        icon-left=\"chevron_left\"\n        :disabled=\"page === 1\"\n        @click=\"goToPreviousPage()\"\n      />\n\n      <VueButton\n        v-for=\"item in pages\"\n        :key=\"item\"\n        class=\"icon-button\"\n        :class=\"{\n          primary: page === item\n        }\"\n        :label=\"item.toString()\"\n        @click=\"goToPage(item)\"\n      />\n\n      <VueButton\n        class=\"icon-button\"\n        icon-left=\"chevron_right\"\n        :disabled=\"page >= totalPages\"\n        @click=\"goToNextPage()\"\n      />\n\n      <VueButton\n        class=\"icon-button\"\n        icon-left=\"last_page\"\n        :disabled=\"page >= totalPages\"\n        @click=\"goToLastPage()\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport { Pagination } from 'vue-instantsearch'\n\nexport default {\n  extends: Pagination\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.instant-search-pagination\n  margin $padding-item 0\n  .content\n    h-box()\n    box-center()\n\n    > .vue-ui-button\n      space-between-x(6px)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchPagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchPagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InstantSearchPagination.vue?vue&type=template&id=43c44150&scoped=true&\"\nimport script from \"./InstantSearchPagination.vue?vue&type=script&lang=js&\"\nexport * from \"./InstantSearchPagination.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InstantSearchPagination.vue?vue&type=style&index=0&id=43c44150&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"43c44150\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLogAdded\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLogAdded\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLog\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":120}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskLogFragment.gql\\\"\\n\\nsubscription taskLogAdded ($id: ID!) {\\n  taskLogAdded (id: $id) {\\n    ...taskLog\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskLogFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskLogAdded\"] = oneQuery(doc, \"taskLogAdded\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetDefinitions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetDefinitions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetDefinition\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":120}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetDefinitionFragment.gql\\\"\\n\\nquery widgetDefinitions {\\n  widgetDefinitions {\\n    ...widgetDefinition\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetDefinitionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgetDefinitions\"] = oneQuery(doc, \"widgetDefinitions\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemLogo.vue?vue&type=style&index=0&id=9ee9675a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemLogo.vue?vue&type=style&index=0&id=9ee9675a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"routeRequested\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"routeRequested\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":49}};\n    doc.loc.source = {\"body\":\"subscription routeRequested {\\n  routeRequested\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"routeRequested\"] = oneQuery(doc, \"routeRequested\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Task\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"command\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"plugin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":132}};\n    doc.loc.source = {\"body\":\"fragment task on Task {\\n  id\\n  status\\n  name\\n  command\\n  description\\n  icon\\n  plugin {\\n    id\\n    logo\\n  }\\n  project {\\n    id\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"preset\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Preset\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":63}};\n    doc.loc.source = {\"body\":\"fragment preset on Preset {\\n  id\\n  name\\n  description\\n  link\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"cwdChanged\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"cwd\"},\"name\":{\"kind\":\"Name\",\"value\":\"cwdChanged\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":46}};\n    doc.loc.source = {\"body\":\"subscription cwdChanged {\\n  cwd: cwdChanged\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"cwdChanged\"] = oneQuery(doc, \"cwdChanged\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"not-found page\"},[(_vm.addonRouteTimout)?[_c('VueIcon',{staticClass:\"huge\",attrs:{\"icon\":\"cake\"}}),_c('h1',{staticClass:\"title\"},[_vm._v(\"Addon route taking too long to load\")]),_c('h2',{staticClass:\"subtitle\"},[_vm._v(\"The route may not exist\")]),_c('VueButton',{attrs:{\"to\":{ name: 'home' }}},[_vm._v(\"Go home\")])]:(_vm.isAddonRoute)?[_c('VueLoadingIndicator',{staticClass:\"accent big\"})]:[_c('VueIcon',{staticClass:\"huge\",attrs:{\"icon\":\"pets\"}}),_c('h1',{staticClass:\"title\"},[_vm._v(\"View not found\")]),_c('VueButton',{attrs:{\"to\":{ name: 'home' }}},[_vm._v(\"Go home\")])]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"not-found page\">\n    <template v-if=\"addonRouteTimout\">\n      <VueIcon icon=\"cake\" class=\"huge\"/>\n      <h1 class=\"title\">Addon route taking too long to load</h1>\n      <h2 class=\"subtitle\">The route may not exist</h2>\n      <VueButton :to=\"{ name: 'home' }\">Go home</VueButton>\n    </template>\n    <template v-else-if=\"isAddonRoute\">\n      <VueLoadingIndicator\n        class=\"accent big\"\n      />\n    </template>\n    <template v-else>\n      <VueIcon icon=\"pets\" class=\"huge\"/>\n      <h1 class=\"title\">View not found</h1>\n      <VueButton :to=\"{ name: 'home' }\">Go home</VueButton>\n    </template>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'NotFound',\n\n  data () {\n    return {\n      addonRouteTimout: false\n    }\n  },\n\n  computed: {\n    isAddonRoute () {\n      return this.$route.path.includes('/addon/')\n    }\n  },\n\n  mounted () {\n    if (this.isAddonRoute) {\n      setTimeout(() => {\n        this.addonRouteTimout = true\n      }, 5000)\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.not-found\n  v-box()\n  box-center()\n  height 100%\n\n  .vue-ui-icon,\n  .title,\n  .subtitle\n    margin 0 0 $padding-item\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=144ede8a&scoped=true&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NotFound.vue?vue&type=style&index=0&id=144ede8a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"144ede8a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-tasks page\"},[_c('ContentView',{attrs:{\"title\":_vm.$t('org.vue.views.project-tasks.title')}},[_c('ApolloQuery',{ref:\"tasks\",staticClass:\"fill-height\",attrs:{\"query\":require('@/graphql/task/tasks.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar ref_result = ref.result;\nvar data = ref_result.data;\nvar loading = ref_result.loading;\nreturn [(loading && (!data || !data.tasks))?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):(data)?_c('NavContent',{staticClass:\"tasks\",attrs:{\"items\":_vm.generateItems(data.tasks)},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nvar selected = ref.selected;\nreturn _c('TaskItem',{attrs:{\"task\":item.task,\"selected\":selected}})}}],null,true)},[_c('div',{staticClass:\"list-header\",attrs:{\"slot\":\"before\"},slot:\"before\"},[_c('VueInput',{staticClass:\"search round\",attrs:{\"icon-left\":\"search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.views.project-tasks.refresh')),expression:\"$t('org.vue.views.project-tasks.refresh')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"refresh\"},on:{\"click\":function($event){return _vm.refresh()}}})],1)]):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-tasks page\">\n    <ContentView\n      :title=\"$t('org.vue.views.project-tasks.title')\"\n    >\n      <ApolloQuery\n        ref=\"tasks\"\n        :query=\"require('@/graphql/task/tasks.gql')\"\n        class=\"fill-height\"\n      >\n        <template slot-scope=\"{ result: { data, loading } }\">\n          <VueLoadingIndicator\n            v-if=\"loading && (!data || !data.tasks)\"\n            class=\"overlay\"\n          />\n\n          <NavContent\n            v-else-if=\"data\"\n            :items=\"generateItems(data.tasks)\"\n            class=\"tasks\"\n          >\n            <div\n              slot=\"before\"\n              class=\"list-header\"\n            >\n              <VueInput\n                v-model=\"search\"\n                icon-left=\"search\"\n                class=\"search round\"\n              />\n\n              <VueButton\n                v-tooltip=\"$t('org.vue.views.project-tasks.refresh')\"\n                icon-left=\"refresh\"\n                class=\"icon-button flat\"\n                @click=\"refresh()\"\n              />\n            </div>\n\n            <TaskItem\n              slot-scope=\"{ item, selected }\"\n              :task=\"item.task\"\n              :selected=\"selected\"\n            />\n          </NavContent>\n        </template>\n      </ApolloQuery>\n    </ContentView>\n  </div>\n</template>\n\n<script>\nimport RestoreRoute from '@/mixins/RestoreRoute'\n\nimport TASK_CHANGED from '@/graphql/task/taskChanged.gql'\nimport TASKS from '@/graphql/task/tasks.gql'\n\nexport default {\n  mixins: [\n    RestoreRoute({\n      baseRoute: { name: 'project-tasks' }\n    })\n  ],\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-tasks.title')\n    }\n  },\n\n  data () {\n    return {\n      search: ''\n    }\n  },\n\n  apollo: {\n    $subscribe: {\n      taskChanged: {\n        query: TASK_CHANGED\n      }\n    }\n  },\n\n  bus: {\n    quickOpenProject (project) {\n      this.$apollo.getClient().writeQuery({\n        query: TASKS,\n        data: {\n          tasks: null\n        }\n      })\n    }\n  },\n\n  methods: {\n    generateItems (tasks) {\n      if (!tasks) return []\n      return tasks.filter(\n        item => !this.search || item.name.includes(this.search)\n      ).map(\n        task => ({\n          route: {\n            name: 'project-task-details',\n            params: {\n              id: task.id\n            }\n          },\n          task\n        })\n      )\n    },\n\n    refresh () {\n      this.$refs.tasks.$apollo.queries.query.refetch()\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.search\n  margin-right 6px\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasks.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasks.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectTasks.vue?vue&type=template&id=492ec4a6&scoped=true&\"\nimport script from \"./ProjectTasks.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectTasks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectTasks.vue?vue&type=style&index=0&id=492ec4a6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"492ec4a6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-configuration-details\"},[(_vm.configuration)?[(_vm.configuration.tabs.length > 1)?_c('div',{staticClass:\"tabs\"},[_c('VueGroup',{staticClass:\"tabs-selector\",model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},_vm._l((_vm.configuration.tabs),function(tab){return _c('VueGroupButton',{key:tab.id,attrs:{\"value\":tab.id,\"icon-left\":tab.icon,\"label\":_vm.$t(tab.label)}})}),1)],1):_vm._e(),_c('div',{staticClass:\"content\"},_vm._l((_vm.configuration.tabs),function(tab){return _c('ConfigurationTab',{directives:[{name:\"show\",rawName:\"v-show\",value:(tab.id === _vm.currentTab),expression:\"tab.id === currentTab\"}],key:tab.id,attrs:{\"configuration\":_vm.configuration,\"tab\":tab},on:{\"has-changes\":function (value) { return _vm.tabsHaveChanges[tab.id] = value; }}})}),1)]:_c('VueLoadingIndicator',{staticClass:\"loading\"}),_c('div',{staticClass:\"actions-bar\"},[(_vm.configuration && _vm.configuration.link)?_c('VueButton',{staticClass:\"big flat success\",attrs:{\"icon-right\":\"open_in_new\",\"label\":_vm.$t('org.vue.views.project-configuration-details.actions.more-info'),\"href\":_vm.configuration.link,\"target\":\"_blank\"}}):_vm._e(),_c('div',{staticClass:\"vue-ui-spacer\"}),_c('VueButton',{staticClass:\"big\",attrs:{\"disabled\":!_vm.hasPromptsChanged,\"icon-left\":\"cancel\",\"label\":_vm.$t('org.vue.views.project-configuration-details.actions.cancel')},on:{\"click\":function($event){return _vm.cancel()}}}),(_vm.configuration && !_vm.hasPromptsChanged)?_c('VueButton',{staticClass:\"big primary\",attrs:{\"icon-left\":\"refresh\",\"label\":_vm.$t('org.vue.views.project-configuration-details.actions.refresh')},on:{\"click\":function($event){return _vm.refetch()}}}):_c('VueButton',{staticClass:\"primary big\",attrs:{\"icon-left\":\"save\",\"label\":_vm.$t('org.vue.views.project-configuration-details.actions.save')},on:{\"click\":function($event){return _vm.save()}}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-configuration-details\">\n    <template v-if=\"configuration\">\n      <div v-if=\"configuration.tabs.length > 1\" class=\"tabs\">\n        <VueGroup\n          v-model=\"currentTab\"\n          class=\"tabs-selector\"\n        >\n          <VueGroupButton\n            v-for=\"tab of configuration.tabs\"\n            :key=\"tab.id\"\n            :value=\"tab.id\"\n            :icon-left=\"tab.icon\"\n            :label=\"$t(tab.label)\"\n          />\n        </VueGroup>\n      </div>\n\n      <div class=\"content\">\n        <ConfigurationTab\n          v-for=\"tab of configuration.tabs\"\n          v-show=\"tab.id === currentTab\"\n          :key=\"tab.id\"\n          :configuration=\"configuration\"\n          :tab=\"tab\"\n          @has-changes=\"value => tabsHaveChanges[tab.id] = value\"\n        />\n      </div>\n    </template>\n\n    <VueLoadingIndicator\n      v-else\n      class=\"loading\"\n    />\n\n    <div class=\"actions-bar\">\n      <VueButton\n        v-if=\"configuration && configuration.link\"\n        icon-right=\"open_in_new\"\n        class=\"big flat success\"\n        :label=\"$t('org.vue.views.project-configuration-details.actions.more-info')\"\n        :href=\"configuration.link\"\n        target=\"_blank\"\n      />\n\n      <div class=\"vue-ui-spacer\"/>\n\n      <VueButton\n        :disabled=\"!hasPromptsChanged\"\n        icon-left=\"cancel\"\n        class=\"big\"\n        :label=\"$t('org.vue.views.project-configuration-details.actions.cancel')\"\n        @click=\"cancel()\"\n      />\n\n      <VueButton\n        v-if=\"configuration && !hasPromptsChanged\"\n        icon-left=\"refresh\"\n        class=\"big primary\"\n        :label=\"$t('org.vue.views.project-configuration-details.actions.refresh')\"\n        @click=\"refetch()\"\n      />\n\n      <VueButton\n        v-else\n        icon-left=\"save\"\n        class=\"primary big\"\n        :label=\"$t('org.vue.views.project-configuration-details.actions.save')\"\n        @click=\"save()\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport CONFIGURATION from '@/graphql/configuration/configuration.gql'\nimport CONFIGURATION_SAVE from '@/graphql/configuration/configurationSave.gql'\nimport CONFIGURATION_CANCEL from '@/graphql/configuration/configurationCancel.gql'\n\nexport default {\n  metaInfo () {\n    return {\n      title: this.configuration && `${this.configuration.name} - ${this.$t('org.vue.views.project-configurations.title')}`\n    }\n  },\n\n  props: {\n    id: {\n      type: String,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      configuration: null,\n      currentTab: '__default',\n      tabsHaveChanges: {}\n    }\n  },\n\n  apollo: {\n    configuration: {\n      query: CONFIGURATION,\n      variables () {\n        return {\n          id: this.id\n        }\n      },\n      async result ({ data, loading }) {\n        if (!this.$_init && !loading && data && data.configuration) {\n          this.$_init = true\n          this.tabsHaveChanges = data.configuration.tabs.reduce((obj, tab) => {\n            obj[tab.id] = false\n            return obj\n          }, {})\n          await this.$nextTick()\n          this.currentTab = data.configuration.tabs[0].id\n        }\n      }\n    }\n  },\n\n  computed: {\n    hasPromptsChanged () {\n      for (const key in this.tabsHaveChanges) {\n        if (this.tabsHaveChanges[key]) return true\n      }\n      return false\n    }\n  },\n\n  watch: {\n    id: 'init'\n  },\n\n  created () {\n    this.init()\n  },\n\n  methods: {\n    init (tab) {\n      this.currentTab = '__default'\n      this.configuration = null\n      this.$_init = false\n    },\n\n    async cancel () {\n      await this.$apollo.mutate({\n        mutation: CONFIGURATION_CANCEL,\n        variables: {\n          id: this.id\n        }\n      })\n\n      this.refetch()\n    },\n\n    async save () {\n      await this.$apollo.mutate({\n        mutation: CONFIGURATION_SAVE,\n        variables: {\n          id: this.id\n        }\n      })\n\n      this.refetch()\n    },\n\n    refetch () {\n      this.$apollo.queries.configuration.refetch()\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-configuration-details\n  v-box()\n  align-items stretch\n  height 100%\n  background $vue-ui-color-light\n  .vue-ui-dark-mode &\n    background $vue-ui-color-darker\n\n  .content,\n  .loading\n    flex 100% 1 1\n    height 0\n\n  .content\n    overflow-x hidden\n    overflow-y auto\n\n  .tabs\n    margin $padding-item 0\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurationDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurationDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectConfigurationDetails.vue?vue&type=template&id=54636a5c&scoped=true&\"\nimport script from \"./ProjectConfigurationDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectConfigurationDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectConfigurationDetails.vue?vue&type=style&index=0&id=54636a5c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"54636a5c\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"loadingChange\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"mod\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loadingChange\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"mod\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"mod\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":76}};\n    doc.loc.source = {\"body\":\"mutation loadingChange ($mod: Int!) {\\n  loadingChange (mod: $mod) @client\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"loadingChange\"] = oneQuery(doc, \"loadingChange\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusBar.vue?vue&type=style&index=0&id=df9bd38a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusBar.vue?vue&type=style&index=0&id=df9bd38a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"promptChoice\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PromptChoice\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":90}};\n    doc.loc.source = {\"body\":\"fragment promptChoice on PromptChoice {\\n  value\\n  name\\n  checked\\n  disabled\\n  isDefault\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render, staticRenderFns\nimport script from \"./ClientAddonLoader.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientAddonLoader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\nimport CLIENT_ADDONS from '@/graphql/client-addon/clientAddons.gql'\nimport CLIENT_ADDON_ADDED from '@/graphql/client-addon/clientAddonAdded.gql'\n\nexport default {\n  apollo: {\n    clientAddons: {\n      query: CLIENT_ADDONS,\n      fetchPolicy: 'no-cache',\n      manual: true,\n      result ({ data: { clientAddons }, stale }) {\n        if (!stale) {\n          clientAddons.forEach(this.loadAddon)\n          this.$_lastRead = Date.now()\n        }\n      }\n    },\n\n    $subscribe: {\n      clientAddonAdded: {\n        query: CLIENT_ADDON_ADDED,\n        result ({ data }) {\n          if (this.$_lastRead && Date.now() - this.$_lastRead > 1000) {\n            this.loadAddon(data.clientAddonAdded)\n          }\n        }\n      }\n    }\n  },\n\n  created () {\n    this.$_lastRead = null\n  },\n\n  methods: {\n    loadAddon (addon) {\n      // eslint-disable-next-line no-console\n      console.log(`[UI] Loading client addon ${addon.id} (${addon.url})...`)\n      const script = document.createElement('script')\n      script.setAttribute('src', addon.url)\n      document.body.appendChild(script)\n    }\n  },\n\n  render () {\n    return null\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientAddonLoader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientAddonLoader.vue?vue&type=script&lang=js&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetDefinition\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WidgetDefinition\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"longDescription\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"screenshot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canAddMore\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxCount\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":165}};\n    doc.loc.source = {\"body\":\"fragment widgetDefinition on WidgetDefinition {\\n  id\\n  title\\n  description\\n  longDescription\\n  link\\n  icon\\n  screenshot\\n  component\\n  canAddMore\\n  count\\n  maxCount\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-select page\"},[_c('StepWizard',{staticClass:\"frame\",attrs:{\"tab-id\":_vm.tab,\"title\":_vm.$route.query.hideTabs ? _vm.$t('org.vue.views.project-create.title') : _vm.$t('org.vue.views.project-select.title'),\"hide-tabs\":_vm.hideTabs},on:{\"update:tabId\":function($event){_vm.tab=$event},\"update:tab-id\":function($event){_vm.tab=$event}}},[_c('VueTab',{staticClass:\"select\",attrs:{\"id\":\"existing\",\"label\":_vm.$t('org.vue.views.project-select.tabs.projects'),\"icon\":\"storage\"}},[_c('ProjectSelectList')],1),_c('VueTab',{staticClass:\"create\",attrs:{\"id\":\"create\",\"label\":_vm.$t('org.vue.views.project-select.tabs.create'),\"icon\":\"add_box\"}},[_c('div',{staticClass:\"content\"},[_c('FolderExplorer')],1),_c('div',{staticClass:\"actions-bar center\"},[_c('VueButton',{staticClass:\"big primary create-project\",attrs:{\"icon-left\":\"add\",\"label\":_vm.$route.query.hideTabs ? _vm.$t('org.vue.views.project-create.tabs.details.form.folder.action') : _vm.$t('org.vue.views.project-select.buttons.create')},on:{\"click\":function($event){return _vm.createProject()}}})],1)]),_c('VueTab',{staticClass:\"import\",attrs:{\"id\":\"import\",\"label\":_vm.$t('org.vue.views.project-select.tabs.import'),\"icon\":\"unarchive\"}},[_c('div',{staticClass:\"content\"},[_c('FolderExplorer')],1),_c('div',{staticClass:\"actions-bar center\"},[_c('VueButton',{staticClass:\"big primary import-project\",attrs:{\"icon-left\":\"unarchive\",\"label\":_vm.$route.query.action || _vm.$t('org.vue.views.project-select.buttons.import'),\"disabled\":_vm.folderCurrent && !_vm.folderCurrent.isPackage,\"loading\":_vm.busy},on:{\"click\":function($event){return _vm.importProject()}}})],1)])],1),_c('div',{staticClass:\"top-menu left\"},[(_vm.projectCurrent)?_c('VueButton',{staticClass:\"flat icon-button\",attrs:{\"to\":{ name: 'home' },\"icon-left\":\"arrow_back\"}}):_vm._e()],1),_c('div',{staticClass:\"top-menu right\"},[_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.views.about.title')),expression:\"$t('org.vue.views.about.title')\"}],staticClass:\"flat icon-button\",attrs:{\"to\":{ name: 'about' },\"icon-left\":\"help\"}})],1),(_vm.showNoModulesModal)?_c('VueModal',{staticClass:\"small no-modules-modal\",attrs:{\"title\":_vm.$t('org.vue.views.project-select.import.no-modules.title')},on:{\"close\":function($event){_vm.showNoModulesModal = false}}},[_c('div',{staticClass:\"default-body\"},[_c('div',{staticClass:\"message\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-select.import.no-modules.message'))+\" \")])]),_c('div',{staticClass:\"actions center\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{attrs:{\"label\":_vm.$t('org.vue.views.project-select.import.force')},on:{\"click\":function($event){return _vm.importProject(true)}}}),_c('VueButton',{staticClass:\"primary\",attrs:{\"label\":_vm.$t('org.vue.views.project-select.import.no-modules.close')},on:{\"click\":function($event){_vm.showNoModulesModal = false}}})],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-select page\">\n    <StepWizard\n      :tab-id.sync=\"tab\"\n      :title=\"$route.query.hideTabs ? $t('org.vue.views.project-create.title') : $t('org.vue.views.project-select.title')\"\n      :hide-tabs=\"hideTabs\"\n      class=\"frame\"\n    >\n      <VueTab\n        id=\"existing\"\n        :label=\"$t('org.vue.views.project-select.tabs.projects')\"\n        icon=\"storage\"\n        class=\"select\"\n      >\n        <ProjectSelectList/>\n      </VueTab>\n\n      <VueTab\n        id=\"create\"\n        :label=\"$t('org.vue.views.project-select.tabs.create')\"\n        icon=\"add_box\"\n        class=\"create\"\n      >\n        <div class=\"content\">\n          <FolderExplorer/>\n        </div>\n\n        <div class=\"actions-bar center\">\n          <VueButton\n            icon-left=\"add\"\n            :label=\"$route.query.hideTabs ? $t('org.vue.views.project-create.tabs.details.form.folder.action') : $t('org.vue.views.project-select.buttons.create')\"\n            class=\"big primary create-project\"\n            @click=\"createProject()\"\n          />\n        </div>\n      </VueTab>\n\n      <VueTab\n        id=\"import\"\n        :label=\"$t('org.vue.views.project-select.tabs.import')\"\n        icon=\"unarchive\"\n        class=\"import\"\n      >\n        <div class=\"content\">\n          <FolderExplorer/>\n        </div>\n\n        <div class=\"actions-bar center\">\n          <VueButton\n            icon-left=\"unarchive\"\n            :label=\"$route.query.action || $t('org.vue.views.project-select.buttons.import')\"\n            class=\"big primary import-project\"\n            :disabled=\"folderCurrent && !folderCurrent.isPackage\"\n            :loading=\"busy\"\n            @click=\"importProject()\"\n          />\n        </div>\n      </VueTab>\n    </StepWizard>\n\n    <div class=\"top-menu left\">\n      <VueButton\n        v-if=\"projectCurrent\"\n        :to=\"{ name: 'home' }\"\n        class=\"flat icon-button\"\n        icon-left=\"arrow_back\"\n      />\n    </div>\n\n    <div class=\"top-menu right\">\n      <VueButton\n        :to=\"{ name: 'about' }\"\n        class=\"flat icon-button\"\n        icon-left=\"help\"\n        v-tooltip=\"$t('org.vue.views.about.title')\"\n      />\n    </div>\n\n    <VueModal\n      v-if=\"showNoModulesModal\"\n      :title=\"$t('org.vue.views.project-select.import.no-modules.title')\"\n      class=\"small no-modules-modal\"\n      @close=\"showNoModulesModal = false\"\n    >\n      <div class=\"default-body\">\n        <div class=\"message\">\n          {{ $t('org.vue.views.project-select.import.no-modules.message') }}\n        </div>\n      </div>\n\n      <div slot=\"footer\" class=\"actions center\">\n        <VueButton\n          :label=\"$t('org.vue.views.project-select.import.force')\"\n          @click=\"importProject(true)\"\n        />\n        <VueButton\n          class=\"primary\"\n          :label=\"$t('org.vue.views.project-select.import.no-modules.close')\"\n          @click=\"showNoModulesModal = false\"\n        />\n      </div>\n    </VueModal>\n  </div>\n</template>\n\n<script>\nimport FOLDER_CURRENT from '@/graphql/folder/folderCurrent.gql'\nimport PROJECT_INIT_CREATION from '@/graphql/project/projectInitCreation.gql'\nimport PROJECT_IMPORT from '@/graphql/project/projectImport.gql'\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\n\nexport default {\n  name: 'ProjectSelect',\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-select.title')\n    }\n  },\n\n  data () {\n    return {\n      folderCurrent: {},\n      tab: undefined,\n      hideTabs: !!this.$route.query.hideTabs,\n      showNoModulesModal: false,\n      busy: false\n    }\n  },\n\n  apollo: {\n    folderCurrent: FOLDER_CURRENT,\n    projectCurrent: PROJECT_CURRENT\n  },\n\n  mounted () {\n    // Fix issue with Firefox\n    setTimeout(() => {\n      this.tab = this.$route.query.tab || 'existing'\n    })\n  },\n\n  methods: {\n    async createProject () {\n      await this.$apollo.mutate({\n        mutation: PROJECT_INIT_CREATION\n      })\n\n      this.$router.push({ name: 'project-create' })\n    },\n\n    async importProject (force = false) {\n      this.showNoModulesModal = false\n      this.busy = true\n      await this.$nextTick()\n      try {\n        await this.$apollo.mutate({\n          mutation: PROJECT_IMPORT,\n          variables: {\n            input: {\n              path: this.folderCurrent.path,\n              force\n            }\n          }\n        })\n\n        this.$router.push({ name: 'project-home' })\n      } catch (e) {\n        if (e.graphQLErrors && e.graphQLErrors.some(e => e.message === 'NO_MODULES')) {\n          this.showNoModulesModal = true\n        }\n        this.busy = false\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.folder-explorer\n  height 100%\n\n.folder-explorer\n  flex 100% 1 1\n\n.project-select\n  height 100%\n\n.top-menu\n  position fixed\n  top $padding-item\n  &.left\n    left $padding-item\n  &.right\n    right $padding-item\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectSelect.vue?vue&type=template&id=017a7afe&scoped=true&\"\nimport script from \"./ProjectSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectSelect.vue?vue&type=style&index=0&id=017a7afe&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"017a7afe\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCurrent\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCurrent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":96}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectFragment.gql\\\"\\n\\nquery projectCurrent {\\n  projectCurrent {\\n    ...project\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectCurrent\"] = oneQuery(doc, \"projectCurrent\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetRemove\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetRemove\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":113}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetFragment.gql\\\"\\n\\nmutation widgetRemove ($id: ID!) {\\n  widgetRemove(id: $id) {\\n    ...widget\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgetRemove\"] = oneQuery(doc, \"widgetRemove\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":107}};\n    doc.loc.source = {\"body\":\"#import \\\"./progressFragment.gql\\\"\\n\\nquery progress ($id: ID!) {\\n  progress (id: $id) {\\n    ...progress\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./progressFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"progress\"] = oneQuery(doc, \"progress\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=style&index=0&id=017a7afe&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=style&index=0&id=017a7afe&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"status-bar\"},[(_vm.showLogs)?_c('LoggerView',{on:{\"close\":function($event){_vm.showLogs = false}}}):_vm._e(),_c('div',{staticClass:\"content\"},[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.project.tooltip')),expression:\"$t('org.vue.components.status-bar.project.tooltip')\"}],staticClass:\"section action current-project\",on:{\"click\":function($event){return _vm.onProjectClick()}}},[_c('VueIcon',{attrs:{\"icon\":\"home\"}}),(!_vm.projectCurrent)?_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.status-bar.project.empty')))]):_vm._e()],1),_c('ApolloQuery',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.path.tooltip')),expression:\"$t('org.vue.components.status-bar.path.tooltip')\"}],staticClass:\"section current-path\",attrs:{\"query\":require('@/graphql/cwd/cwd.gql')},nativeOn:{\"click\":function($event){return _vm.onCwdClick()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar data = ref.result.data;\nreturn [_c('VueIcon',{attrs:{\"icon\":\"folder\"}}),(data)?_c('span',[_vm._v(_vm._s(data.cwd))]):_vm._e()]}}])},[_c('ApolloSubscribeToMore',{attrs:{\"document\":require('@/graphql/cwd/cwdChanged.gql'),\"update-query\":function (previousResult, ref) {\n        var subscriptionData = ref.subscriptionData;\n\n        return ({\n          cwd: subscriptionData.data.cwd\n        });\n}}})],1),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.log.tooltip')),expression:\"$t('org.vue.components.status-bar.log.tooltip')\"}],staticClass:\"section action console-log\",on:{\"click\":function($event){return _vm.onConsoleClick()}}},[_c('VueIcon',{attrs:{\"icon\":\"dvr\"}}),_c('transition-group',{staticClass:\"last-message-container\",attrs:{\"name\":\"slide-up\",\"duration\":\"600\",\"tag\":\"div\"}},[(_vm.consoleLogLast)?_c('LoggerMessage',{key:_vm.consoleLogLast.id,staticClass:\"last-message\",attrs:{\"message\":_vm.consoleLogLast}}):_c('div',{key:\"__empty\",staticClass:\"last-message no-log\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.status-bar.log.empty'))+\" \")])],1)],1),(_vm.enableDarkModeButton)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.dark-mode')),expression:\"$t('org.vue.components.status-bar.dark-mode')\"}],staticClass:\"section action dark-mode\",on:{\"click\":function($event){return _vm.toggleDarkMode()}}},[_c('VueIcon',{attrs:{\"icon\":\"invert_colors\"}})],1):_vm._e(),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.report-bug')),expression:\"$t('org.vue.components.status-bar.report-bug')\"}],staticClass:\"section action bug-report\",on:{\"click\":function($event){return _vm.onBugReportClick()}}},[_c('VueIcon',{attrs:{\"icon\":\"bug_report\"}})],1),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.translate')),expression:\"$t('org.vue.components.status-bar.translate')\"}],staticClass:\"section action translate\",on:{\"click\":function($event){return _vm.onTranslateClick()}}},[_c('VueIcon',{attrs:{\"icon\":\"g_translate\"}})],1),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.status-bar.reset-plugin-api')),expression:\"$t('org.vue.components.status-bar.reset-plugin-api')\"}],staticClass:\"section action reset-plugin-api\",on:{\"click\":function($event){return _vm.resetPluginApi()}}},[_c('VueIcon',{attrs:{\"icon\":\"cached\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"status-bar\">\n    <LoggerView\n      v-if=\"showLogs\"\n      @close=\"showLogs = false\"\n    />\n\n    <div class=\"content\">\n      <div\n        class=\"section action current-project\"\n        v-tooltip=\"$t('org.vue.components.status-bar.project.tooltip')\"\n        @click=\"onProjectClick()\"\n      >\n        <VueIcon icon=\"home\"/>\n        <span v-if=\"!projectCurrent\" class=\"label\">{{ $t('org.vue.components.status-bar.project.empty') }}</span>\n      </div>\n\n      <ApolloQuery\n        :query=\"require('@/graphql/cwd/cwd.gql')\"\n        class=\"section current-path\"\n        v-tooltip=\"$t('org.vue.components.status-bar.path.tooltip')\"\n        @click.native=\"onCwdClick()\"\n      >\n        <ApolloSubscribeToMore\n          :document=\"require('@/graphql/cwd/cwdChanged.gql')\"\n          :update-query=\"(previousResult, { subscriptionData }) => ({\n            cwd: subscriptionData.data.cwd\n          })\"\n        />\n\n        <template slot-scope=\"{ result: { data } }\">\n          <VueIcon icon=\"folder\"/>\n          <span v-if=\"data\">{{ data.cwd }}</span>\n        </template>\n      </ApolloQuery>\n\n      <div\n        class=\"section action console-log\"\n        v-tooltip=\"$t('org.vue.components.status-bar.log.tooltip')\"\n        @click=\"onConsoleClick()\"\n      >\n        <VueIcon icon=\"dvr\"/>\n        <transition-group\n          name=\"slide-up\"\n          duration=\"600\"\n          tag=\"div\"\n          class=\"last-message-container\"\n        >\n          <LoggerMessage class=\"last-message\"\n            v-if=\"consoleLogLast\"\n            :key=\"consoleLogLast.id\"\n            :message=\"consoleLogLast\"\n          />\n          <div\n            v-else\n            key=\"__empty\"\n            class=\"last-message no-log\"\n          >\n            {{ $t('org.vue.components.status-bar.log.empty') }}\n          </div>\n        </transition-group>\n      </div>\n\n      <div\n        v-if=\"enableDarkModeButton\"\n        class=\"section action dark-mode\"\n        v-tooltip=\"$t('org.vue.components.status-bar.dark-mode')\"\n        @click=\"toggleDarkMode()\"\n      >\n        <VueIcon icon=\"invert_colors\"/>\n      </div>\n\n      <div\n        class=\"section action bug-report\"\n        v-tooltip=\"$t('org.vue.components.status-bar.report-bug')\"\n        @click=\"onBugReportClick()\"\n      >\n        <VueIcon icon=\"bug_report\"/>\n      </div>\n      <div\n        class=\"section action translate\"\n        v-tooltip=\"$t('org.vue.components.status-bar.translate')\"\n        @click=\"onTranslateClick()\"\n      >\n        <VueIcon icon=\"g_translate\"/>\n      </div>\n      <div\n        class=\"section action reset-plugin-api\"\n        v-tooltip=\"$t('org.vue.components.status-bar.reset-plugin-api')\"\n        @click=\"resetPluginApi()\"\n      >\n        <VueIcon icon=\"cached\"/>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\nimport CONSOLE_LOG_LAST from '@/graphql/console-log/consoleLogLast.gql'\nimport CONSOLE_LOG_ADDED from '@/graphql/console-log/consoleLogAdded.gql'\nimport DARK_MODE_SET from '@/graphql/dark-mode/darkModeSet.gql'\nimport PLUGIN_RESET_API from '@/graphql/plugin/pluginResetApi.gql'\nimport { resetApollo } from '@/vue-apollo'\nimport { getForcedTheme } from '@/util/theme'\n\nlet lastRoute\n\nexport default {\n  clientState: true,\n\n  data () {\n    return {\n      showLogs: false,\n      consoleLogLast: null,\n      enableDarkModeButton: getForcedTheme() == null\n    }\n  },\n\n  apollo: {\n    projectCurrent: PROJECT_CURRENT,\n    consoleLogLast: CONSOLE_LOG_LAST,\n\n    $subscribe: {\n      consoleLogAdded: {\n        query: CONSOLE_LOG_ADDED,\n        result ({ data }) {\n          this.consoleLogLast = data.consoleLogAdded\n        }\n      }\n    }\n  },\n\n  methods: {\n    onProjectClick () {\n      this.$emit('project')\n      if (this.$route.name === 'project-select') {\n        this.$router.push(lastRoute || { name: 'project-home' })\n      } else {\n        if (this.$route.name === 'project-create') {\n          lastRoute = null\n        } else {\n          const { name, params, query } = this.$route\n          lastRoute = { name, params, query }\n        }\n        this.$router.push({ name: 'project-select' })\n      }\n    },\n\n    onCwdClick () {\n      this.$emit('cwd')\n    },\n\n    onConsoleClick () {\n      this.$emit('console')\n      this.showLogs = !this.showLogs\n    },\n\n    onBugReportClick () {\n      const win = window.open(\n        'https://new-issue.vuejs.org/?repo=vuejs/vue-cli',\n        '_blank'\n      )\n      win.focus()\n    },\n\n    onTranslateClick () {\n      const win = window.open(\n        'https://cli.vuejs.org/dev-guide/ui-localization.html',\n        '_blank'\n      )\n      win.focus()\n    },\n\n    async applyDarkMode (enabled) {\n      localStorage.setItem('vue-ui-dark-mode', enabled.toString())\n      await this.$apollo.mutate({\n        mutation: DARK_MODE_SET,\n        variables: {\n          enabled\n        }\n      })\n    },\n\n    toggleDarkMode () {\n      this.applyDarkMode(!this.darkMode)\n    },\n\n    async resetPluginApi () {\n      await this.$apollo.mutate({\n        mutation: PLUGIN_RESET_API\n      })\n\n      await resetApollo()\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.status-bar\n  position relative\n  z-index 3\n  box-shadow 0 -2px 10px rgba(black, .1)\n  .vue-ui-dark-mode &\n    box-shadow 0 -2px 10px rgba(black, .2)\n\n  .content\n    h-box()\n    align-items center\n    font-size 12px\n    height 28px\n    background $vue-ui-color-darker\n    color $vue-ui-color-light\n    >>> .vue-ui-icon svg\n      fill @color\n    .vue-ui-dark-mode &\n      background $vue-ui-color-primary\n      color $vue-ui-color-dark\n      >>> .vue-ui-icon svg\n        fill @color\n\n  .section\n    h-box()\n    align-items center\n    padding 0 8px\n    height 100%\n    cursor default\n\n    &:hover\n      background lighten($vue-ui-color-darker, 10%)\n      .vue-ui-dark-mode &\n        background darken($vue-ui-color-primary, 10%)\n\n    > .vue-ui-icon + *\n      margin-left 4px\n\n    .label\n      color lighten($vue-ui-color-dark, 20%)\n      .vue-ui-dark-mode &\n        color lighten($vue-ui-color-dark-neutral, 20%)\n\n    &.action\n      user-select none\n      cursor pointer\n\n  .console-log\n    &,\n    .last-message-container\n      flex 100% 1 1\n      width 0\n\n    .last-message-container\n      overflow hidden\n      height 100%\n      position relative\n\n    .last-message\n      position absolute\n      left 0\n      top 4px\n      width 100%\n\n    .logger-message\n      font-size .9em\n      padding-right 0\n\n    .last-message >>> .message\n      > span\n        color $vue-ui-color-light\n        .vue-ui-dark-mode &\n          color $vue-ui-color-dark\n\n    .no-log\n      padding 2px\n      opacity .5\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusBar.vue?vue&type=template&id=df9bd38a&scoped=true&\"\nimport script from \"./StatusBar.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusBar.vue?vue&type=style&index=0&id=df9bd38a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"df9bd38a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchInput.vue?vue&type=style&index=0&id=615eeb16&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchInput.vue?vue&type=style&index=0&id=615eeb16&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{staticClass:\"suggestions\",attrs:{\"name\":\"suggestion\"}},_vm._l((_vm.suggestions),function(suggestion,index){return _c('SuggestionBarItem',{key:((_vm.$i18n.locale) + \":\" + (suggestion.id)),attrs:{\"suggestion\":suggestion,\"index\":_vm.suggestions.length - index - 1,\"ping\":\"\"}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition-group name=\"suggestion\" class=\"suggestions\">\n    <SuggestionBarItem\n      v-for=\"(suggestion, index) of suggestions\"\n      :key=\"`${$i18n.locale}:${suggestion.id}`\"\n      :suggestion=\"suggestion\"\n      :index=\"suggestions.length - index - 1\"\n      ping\n    />\n  </transition-group>\n</template>\n\n<script>\nexport default {\n  props: {\n    suggestions: {\n      type: Array,\n      required: true\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBarList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBarList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SuggestionBarList.vue?vue&type=template&id=58e26f9f&\"\nimport script from \"./SuggestionBarList.vue?vue&type=script&lang=js&\"\nexport * from \"./SuggestionBarList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectListItem.vue?vue&type=style&index=0&id=1bbc1c3c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectListItem.vue?vue&type=style&index=0&id=1bbc1c3c&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDisable',{staticClass:\"prompt prompt-checkbox\",attrs:{\"disabled\":!_vm.prompt.enabled}},[_c('div',{staticClass:\"prompt-content\"},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.prompt.message),\"description\":_vm.$t(_vm.prompt.description),\"link\":_vm.prompt.link}}),_vm._l((_vm.prompt.choices),function(choice,index){return _c('VueSwitch',{key:index,staticClass:\"right\",attrs:{\"value\":_vm.isCheckboxSelected(choice),\"disabled\":choice.disabled},on:{\"update\":function (value) { return _vm.asnwerCheckbox(choice, value); }}},[_vm._v(\" \"+_vm._s(_vm.$t(choice.name))+\" \")])})],2),_c('PromptError',{attrs:{\"error\":_vm.prompt.error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDisable\n    :disabled=\"!prompt.enabled\"\n    class=\"prompt prompt-checkbox\"\n  >\n    <div class=\"prompt-content\">\n      <ListItemInfo\n        :name=\"$t(prompt.message)\"\n        :description=\"$t(prompt.description)\"\n        :link=\"prompt.link\"\n      />\n\n      <VueSwitch\n        v-for=\"(choice, index) of prompt.choices\"\n        :key=\"index\"\n        :value=\"isCheckboxSelected(choice)\"\n        :disabled=\"choice.disabled\"\n        class=\"right\"\n        @update=\"value => asnwerCheckbox(choice, value)\"\n      >\n        {{ $t(choice.name) }}\n      </VueSwitch>\n    </div>\n\n    <PromptError :error=\"prompt.error\"/>\n  </VueDisable>\n</template>\n\n<script>\nimport Prompt from './Prompt'\n\nexport default {\n  extends: Prompt,\n\n  computed: {\n    checkboxValue () {\n      return this.value(this.prompt.value)\n    }\n  },\n\n  methods: {\n    isCheckboxSelected (choice) {\n      return this.checkboxValue && this.checkboxValue.includes(this.value(choice.value))\n    },\n\n    asnwerCheckbox (choice, value) {\n      const list = this.checkboxValue\n      const choiceValue = this.value(choice.value)\n      if (value) {\n        list.push(choiceValue)\n      } else {\n        const index = list.indexOf(choiceValue)\n        if (index !== -1) list.splice(index, 1)\n      }\n      this.answer(list)\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.prompt-content\n  v-box()\n  align-items stretch\n\n  .vue-ui-switch\n    margin-top 6px\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptCheckbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptCheckbox.vue?vue&type=template&id=814eceb6&scoped=true&\"\nimport script from \"./PromptCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptCheckbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PromptCheckbox.vue?vue&type=style&index=0&id=814eceb6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"814eceb6\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNav.vue?vue&type=style&index=0&id=f2d3e1c4&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNav.vue?vue&type=style&index=0&id=f2d3e1c4&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"npm-package-search\"},[_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('ais-index',{attrs:{\"app-id\":\"OFCNCOG2CU\",\"api-key\":\"db283631f89b5b8a10707311f911fd00\",\"index-name\":\"npm-search\",\"query-parameters\":{\n        hitsPerPage: _vm.pageSize,\n        attributesToRetrieve: [\n          'name',\n          'description',\n          'repository',\n          'homepage',\n          'version',\n          'owner',\n          'humanDownloadsLast30Days',\n          'keywords'\n        ],\n        attributesToHighlight: [\n          'name',\n          'description'\n        ],\n        analyticsTags: [\n          'vue-cli-ui'\n        ],\n        filters: _vm.filters\n      }}},[_c('InstantSearchInput',{ref:\"searchInput\",attrs:{\"placeholder\":_vm.$t('org.vue.views.project-plugins-add.tabs.search.search-input')}}),_c('div',{ref:\"resultsBox\",staticClass:\"ais-results-box\"},[_c('ais-results',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n      var result = ref.result;\nreturn _c('PackageSearchItem',{attrs:{\"pkg\":result,\"selected\":_vm.selectedIdModel === result.name,\"load-metadata\":_vm.loadMetadata},nativeOn:{\"click\":function($event){_vm.selectedIdModel = result.name}}})}}])}),_c('ais-no-results',[_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"huge\",attrs:{\"icon\":\"search\"}}),_c('div',[_vm._v(_vm._s(_vm.$t('org.vue.views.project-plugins-add.tabs.search.not-found')))])],1)]),_c('InstantSearchPagination',{on:{\"page-change\":function($event){return _vm.scrollResultsToTop()}}})],1)],1)],1),_c('div',{staticClass:\"actions-bar no-padding-x\"},[_vm._m(0),_c('div',{staticClass:\"vue-ui-spacer\"}),_vm._t(\"more-actions\"),_c('VueButton',{staticClass:\"big\",attrs:{\"icon-left\":\"close\",\"label\":_vm.$t('org.vue.views.project-plugins-add.tabs.search.buttons.cancel')},on:{\"click\":function($event){return _vm.close()}}}),_c('VueButton',{staticClass:\"big primary\",attrs:{\"icon-left\":\"file_download\",\"label\":_vm.selectedIdModel ? _vm.$t('org.vue.views.project-plugins-add.tabs.search.buttons.install', { target: _vm.selectedIdModel }) : _vm.$t('org.vue.views.project-plugins-add.tabs.search.buttons.default-install'),\"disabled\":!_vm.selectedIdModel,\"data-testid\":\"download-plugin\"},on:{\"click\":function($event){return _vm.install()}}})],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"algolia\"},[_c('img',{staticClass:\"ais-logo\",attrs:{\"src\":require(\"@/assets/search-by-algolia.svg\")}})])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"npm-package-search\">\n    <div class=\"content vue-ui-disable-scroll\">\n      <ais-index\n        app-id=\"OFCNCOG2CU\"\n        api-key=\"db283631f89b5b8a10707311f911fd00\"\n        index-name=\"npm-search\"\n        :query-parameters=\"{\n          hitsPerPage: pageSize,\n          attributesToRetrieve: [\n            'name',\n            'description',\n            'repository',\n            'homepage',\n            'version',\n            'owner',\n            'humanDownloadsLast30Days',\n            'keywords'\n          ],\n          attributesToHighlight: [\n            'name',\n            'description'\n          ],\n          analyticsTags: [\n            'vue-cli-ui'\n          ],\n          filters\n        }\"\n      >\n        <InstantSearchInput\n          ref=\"searchInput\"\n          :placeholder=\"$t('org.vue.views.project-plugins-add.tabs.search.search-input')\"\n        />\n        <div ref=\"resultsBox\" class=\"ais-results-box\">\n          <ais-results>\n            <PackageSearchItem\n              slot-scope=\"{ result }\"\n              :pkg=\"result\"\n              :selected=\"selectedIdModel === result.name\"\n              :load-metadata=\"loadMetadata\"\n              @click.native=\"selectedIdModel = result.name\"\n            />\n          </ais-results>\n          <ais-no-results>\n            <div class=\"vue-ui-empty\">\n              <VueIcon icon=\"search\" class=\"huge\"/>\n              <div>{{ $t('org.vue.views.project-plugins-add.tabs.search.not-found') }}</div>\n            </div>\n          </ais-no-results>\n          <InstantSearchPagination @page-change=\"scrollResultsToTop()\"/>\n        </div>\n      </ais-index>\n    </div>\n\n    <div class=\"actions-bar no-padding-x\">\n      <div class=\"algolia\">\n        <img class=\"ais-logo\" src=\"~@/assets/search-by-algolia.svg\">\n      </div>\n\n      <div class=\"vue-ui-spacer\"/>\n\n      <slot name=\"more-actions\"/>\n\n      <VueButton\n        icon-left=\"close\"\n        :label=\"$t('org.vue.views.project-plugins-add.tabs.search.buttons.cancel')\"\n        class=\"big\"\n        @click=\"close()\"\n      />\n\n      <VueButton\n        icon-left=\"file_download\"\n        :label=\"selectedIdModel ? $t('org.vue.views.project-plugins-add.tabs.search.buttons.install', { target: selectedIdModel }) : $t('org.vue.views.project-plugins-add.tabs.search.buttons.default-install')\"\n        class=\"big primary\"\n        :disabled=\"!selectedIdModel\"\n        data-testid=\"download-plugin\"\n        @click=\"install()\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    selectedId: {\n      type: String,\n      default: null\n    },\n\n    filters: {\n      type: String,\n      default: null\n    },\n\n    pageSize: {\n      type: Number,\n      default: 20\n    },\n\n    loadMetadata: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  data () {\n    return {\n      internalSelectedId: this.selectedId\n    }\n  },\n\n  computed: {\n    selectedIdModel: {\n      get () { return this.internalSelectedId },\n      set (value) {\n        this.internalSelectedId = value\n        this.$emit('update:selectedId', value)\n      }\n    }\n  },\n\n  watch: {\n    selectedId (value) {\n      if (value !== this.internalSelectedId) {\n        this.internalSelectedId = value\n      }\n    }\n  },\n\n  mounted () {\n    requestAnimationFrame(() => {\n      this.$refs.searchInput.focus()\n    })\n  },\n\n  methods: {\n    close () {\n      this.$emit('close')\n    },\n\n    install () {\n      this.$emit('install', this.selectedIdModel)\n    },\n\n    scrollResultsToTop () {\n      const el = this.$refs.resultsBox\n      if (el) el.scrollTop = 0\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.npm-package-search\n  height 100%\n  display flex\n  flex-direction column\n\n.content\n  flex 100% 1 1\n  height 0\n  overflow hidden\n\n.algolia\n  width 200px\n  height 100%\n  margin-left $padding-item\n  h-box()\n  box-center()\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NpmPackageSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NpmPackageSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NpmPackageSearch.vue?vue&type=template&id=5f26a37c&scoped=true&\"\nimport script from \"./NpmPackageSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./NpmPackageSearch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NpmPackageSearch.vue?vue&type=style&index=0&id=5f26a37c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5f26a37c\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"currentProjectIdSet\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currentProjectIdSet\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":103}};\n    doc.loc.source = {\"body\":\"mutation currentProjectIdSet ($projectId: ID!) {\\n  currentProjectIdSet(projectId: $projectId) @client\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"currentProjectIdSet\"] = oneQuery(doc, \"currentProjectIdSet\");\n        \n","export let responsive\n\nexport default {\n  install (Vue, options) {\n    const finalOptions = Object.assign({}, {\n      computed: {}\n    }, options)\n\n    responsive = new Vue({\n      data () {\n        return {\n          width: window.innerWidth,\n          height: window.innerHeight\n        }\n      },\n      computed: finalOptions.computed\n    })\n\n    Object.defineProperty(Vue.prototype, '$responsive', {\n      get: () => responsive\n    })\n\n    window.addEventListener('resize', () => {\n      responsive.width = window.innerWidth\n      responsive.height = window.innerHeight\n    })\n  }\n}\n","/**\n * Display a folder path\n * @param {string} value path\n * @param {number} maxLength maximum length of displayed path\n */\nexport function folder (value, maxLength = -1) {\n  value = value.replace(/\\\\/g, '/')\n\n  if (value.charAt(value.length - 1) !== '/') {\n    value += '/'\n  }\n\n  if (maxLength !== -1 && value.length > maxLength) {\n    const exceeded = value.length - maxLength + 3\n    const firstEnd = Math.floor(maxLength / 2 - exceeded / 2)\n    const lastStart = Math.ceil(maxLength / 2 + exceeded / 2)\n    value = value.substring(0, firstEnd) + '...' + value.substring(lastStart)\n  }\n\n  return value\n}\n\nexport function date (value) {\n  return new Date(value).toLocaleString()\n}\n","import SHARED_DATA from '@/graphql/shared-data/sharedData.gql'\nimport SHARED_DATA_UPDATE from '@/graphql/shared-data/sharedDataUpdate.gql'\nimport SHARED_DATA_UPDATED from '@/graphql/shared-data/sharedDataUpdated.gql'\nimport CURRENT_PROJECT_ID from '@/graphql/project/currentProjectId.gql'\n\nfunction genQuery (id, projectId) {\n  return {\n    query: SHARED_DATA,\n    variables: {\n      id,\n      projectId\n    },\n    update: ({ sharedData }) => (sharedData && sharedData.value) || undefined,\n    subscribeToMore: {\n      document: SHARED_DATA_UPDATED,\n      variables: {\n        id,\n        projectId\n      },\n      updateQuery: (previousResult, { subscriptionData }) => {\n        return {\n          sharedData: subscriptionData.data.sharedDataUpdated\n        }\n      }\n    }\n  }\n}\n\nexport default {\n  install (Vue) {\n    Vue.mixin({\n      data () {\n        return {\n          $sharedData: {}\n        }\n      },\n\n      beforeCreate () {\n        Object.defineProperty(this, '$sharedData', {\n          get: () => this.$data.$sharedData,\n          enumerable: true,\n          configurable: true\n        })\n      },\n\n      async created () {\n        const options = this.$options.sharedData\n        if (options) {\n          if (typeof options === 'function') {\n            let smartQueries\n            this.$watch(options.bind(this), async result => {\n              if (smartQueries) {\n                smartQueries.forEach(s => s.destroy())\n              }\n              smartQueries = await this.$syncSharedData(result)\n            }, {\n              immediate: true\n            })\n          } else {\n            await this.$syncSharedData(options)\n          }\n          // Force watchers to re-evaluate\n          // Because we just added the proxies to this.$data.$sharedData[key]\n          this._watchers.forEach(watcher => {\n            watcher.update()\n          })\n        }\n      },\n\n      methods: {\n        $getProjectId () {\n          return new Promise((resolve) => {\n            const client = this.$apollo.getClient()\n            const observable = client.watchQuery({\n              query: CURRENT_PROJECT_ID\n            })\n            const sub = observable.subscribe({\n              next ({ data }) {\n                if (data.currentProjectId) {\n                  sub.unsubscribe()\n                  resolve(data.currentProjectId)\n                }\n              }\n            })\n          })\n        },\n\n        async $getSharedData (id) {\n          const projectId = await this.$getProjectId()\n          const result = await this.$apollo.query({\n            query: SHARED_DATA,\n            variables: {\n              id,\n              projectId\n            }\n          })\n          return result.sharedData.value\n        },\n\n        async $watchSharedData (id, cb) {\n          const projectId = await this.$getProjectId()\n          return this.$apollo.addSmartQuery(id, {\n            ...genQuery(id, projectId),\n            manual: true,\n            result: ({ data }) => {\n              data && data.sharedData && cb(data.sharedData.value)\n            }\n          })\n        },\n\n        async $setSharedData (id, value) {\n          const projectId = await this.$getProjectId()\n          return this.$apollo.mutate({\n            mutation: SHARED_DATA_UPDATE,\n            variables: {\n              id,\n              value,\n              projectId\n            }\n          })\n        },\n\n        async $syncSharedData (options) {\n          for (const key in options) {\n            const id = options[key]\n            this.$set(this.$data.$sharedData, key, null)\n            // Proxy\n            Object.defineProperty(this, key, {\n              get: () => this.$data.$sharedData[key],\n              set: value => {\n                this.$set(this.$data.$sharedData, key, value)\n                this.$setSharedData(id, value)\n              },\n              enumerable: true,\n              configurable: true\n            })\n          }\n          const projectId = await this.$getProjectId()\n          const smartQueries = []\n          for (const key in options) {\n            const id = options[key]\n            const smartQuery = this.$apollo.addSmartQuery(key, {\n              ...genQuery(id, projectId),\n              update: undefined,\n              manual: true,\n              result: (result) => {\n                if (result && result.data) {\n                  const { data: { sharedData } } = result\n                  const value = (sharedData && sharedData.value) || undefined\n                  this.$set(this.$data.$sharedData, key, value)\n                }\n              }\n            })\n            smartQueries.push(smartQuery)\n          }\n          return smartQueries\n        }\n      }\n    })\n\n    window.mapSharedData = (namespace, options) => {\n      const result = {}\n      for (const key in options) {\n        result[key] = namespace + options[key]\n      }\n      return result\n    }\n  }\n}\n","import PLUGIN_ACTION_CALL from '@/graphql/plugin/pluginActionCall.gql'\nimport PLUGIN_ACTION_CALLED from '@/graphql/plugin/pluginActionCalled.gql'\nimport PLUGIN_ACTION_RESOLVED from '@/graphql/plugin/pluginActionResolved.gql'\n\nlet uid = 0\n\nexport default {\n  install (Vue) {\n    Vue.mixin({\n      methods: {\n        async $callPluginAction (id, params) {\n          const result = await this.$apollo.mutate({\n            mutation: PLUGIN_ACTION_CALL,\n            variables: {\n              id,\n              params\n            }\n          })\n          return result.data.pluginActionCall\n        },\n\n        $onPluginActionCalled (cb) {\n          return this.$apollo.addSmartSubscription(`plugin-action-called-${uid++}`, {\n            query: PLUGIN_ACTION_CALLED,\n            result: ({ data }) => cb(data.pluginActionCalled)\n          })\n        },\n\n        $onPluginActionResolved (cb) {\n          return this.$apollo.addSmartSubscription(`plugin-action-resolved-${uid++}`, {\n            query: PLUGIN_ACTION_RESOLVED,\n            result: ({ data }) => cb(data.pluginActionResolved)\n          })\n        }\n      }\n    })\n  }\n}\n","import CONNECTED from '@/graphql/connected/connected.gql'\nimport DARK_MODE from '@/graphql/dark-mode/darkMode.gql'\n\n// @vue/component\nexport default {\n  beforeCreate () {\n    if (this.$options.clientState) {\n      const newData = {\n        connected: CONNECTED,\n        darkMode: DARK_MODE\n      }\n      this.$options.apollo = {\n        ...this.$options.apollo,\n        ...newData\n      }\n      // Proxy prop on `this`\n      for (const key in newData) {\n        Object.defineProperty(this, key, {\n          get: () => this.$data.$apolloData.data[key],\n          enumerable: true,\n          configurable: true\n        })\n      }\n    }\n  }\n}\n","export default {\n  bind (el, { value }) {\n    if (typeof value === 'string') {\n      value = el.querySelector(value)\n    }\n    requestAnimationFrame(() => {\n      const bounds = value.getBoundingClientRect()\n      el.style.width = `${bounds.width}px`\n      el.style.height = `${bounds.height}px`\n    })\n  }\n}\n","export default {\n  bind (el) {\n    requestAnimationFrame(() => {\n      const input = el.querySelector('input')\n      if (input) el = input\n      el.focus()\n    })\n  }\n}\n","import Vue from 'vue'\n\nconst bus = new Vue()\n\nexport default {\n  install (Vue) {\n    Vue.prototype.$bus = (type, ...args) => {\n      bus.$emit(type, ...args)\n    }\n\n    Vue.mixin({\n      beforeCreate () {\n        const busOptions = this.$options.bus\n        if (busOptions) {\n          this.$_bus = []\n\n          const addListeners = map => {\n            for (const event in map) {\n              const handler = map[event].bind(this)\n              bus.$on(event, handler)\n              this.$_bus.push({ event, handler })\n            }\n          }\n\n          if (Array.isArray(busOptions)) {\n            busOptions.forEach(addListeners)\n          } else {\n            addListeners(busOptions)\n          }\n        }\n      },\n\n      beforeDestroy () {\n        if (this.$_bus) {\n          for (const listener of this.$_bus) {\n            bus.$off(listener.event, listener.handler)\n          }\n        }\n      }\n    })\n\n    Vue.config.optionMergeStrategies.bus = (parent, child, vm) => {\n      if (Array.isArray(parent)) {\n        if (Array.isArray(child)) {\n          return parent.concat(child)\n        } else {\n          parent.push(child)\n          return parent\n        }\n      } else if (Array.isArray(child)) {\n        child.push(parent)\n        return child\n      } else if (parent && child) {\n        return [parent, child]\n      } else if (parent) {\n        return parent\n      }\n      return child\n    }\n  }\n}\n","import AU from 'ansi_up'\n\nconst ansiUp = new AU()\nansiUp.use_classes = true\nansiUp.escape_for_html = false\n\nexport default {\n  install (Vue) {\n    Vue.prototype.ansiColors = text => ansiUp.ansi_to_html(text)\n  }\n}\n","import Vue from 'vue'\nimport VueUi from '@vue/ui'\nimport InstantSearch from 'vue-instantsearch'\nimport VueMeta from 'vue-meta'\nimport PortalVue from 'portal-vue'\nimport VueObserveVisibility from 'vue-observe-visibility'\nimport * as Filters from './filters'\nimport Responsive from './util/responsive'\nimport SharedData from './util/shared-data'\nimport PluginAction from './util/plugin-action'\nimport ClientState from './mixins/ClientState'\nimport SetSize from './util/set-size'\nimport Focus from './util/focus'\nimport Bus from './util/bus'\nimport AnsiColors from './util/ansi-colors'\nimport VueVirtualScroller from 'vue-virtual-scroller'\nimport 'vue-virtual-scroller/dist/vue-virtual-scroller.css'\n\nVue.use(InstantSearch)\nVue.use(VueMeta)\nVue.use(Responsive, {\n  computed: {\n    mobile () {\n      return this.width <= 768\n    },\n    tablet () {\n      return this.width <= 900\n    },\n    desktop () {\n      return !this.tablet\n    },\n    wide () {\n      return this.width >= 1300\n    }\n  }\n})\nVue.use(VueUi)\nVue.use(PortalVue)\nVue.use(VueObserveVisibility)\nVue.use(SharedData)\nVue.use(PluginAction)\nVue.use(Bus)\nVue.use(AnsiColors)\n\nfor (const key in Filters) {\n  Vue.filter(key, Filters[key])\n}\n\nVue.mixin(ClientState)\n\nVue.directive('set-size', SetSize)\nVue.directive('focus', Focus)\n\nVue.use(VueVirtualScroller)\n","/**\n * We register all the components so future cli-ui plugins\n * could use them directly\n */\n\nimport Vue from 'vue'\n\n// https://webpack.js.org/guides/dependency-management/#require-context\nconst requireComponent = require.context('./components', true, /[a-z0-9]+\\.(jsx?|vue)$/i)\n\n// For each matching file name...\nrequireComponent.keys().forEach(fileName => {\n  const componentConfig = requireComponent(fileName)\n  const componentName = fileName\n    .substr(fileName.lastIndexOf('/') + 1)\n    // Remove the file extension from the end\n    .replace(/\\.\\w+$/, '')\n  // Globally register the component\n  Vue.component(componentName, componentConfig.default || componentConfig)\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app\",attrs:{\"id\":\"app\"}},[(_vm.ready)?_c('ConnectionStatus'):_vm._e(),(_vm.ready)?_c('div',{staticClass:\"content\"},[_c('router-view')],1):_c('VueLoadingIndicator',{staticClass:\"app-init-loading overlay big accent\"}),_c('StatusBar'),_c('ClientAddonLoader'),_c('LocaleLoader')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"app\" class=\"app\">\n    <ConnectionStatus v-if=\"ready\" />\n    <div v-if=\"ready\" class=\"content\">\n      <router-view/>\n    </div>\n    <VueLoadingIndicator v-else class=\"app-init-loading overlay big accent\"/>\n\n    <StatusBar/>\n    <ClientAddonLoader/>\n    <LocaleLoader/>\n  </div>\n</template>\n\n<script>\nimport i18n from './i18n'\n\nimport ROUTE_REQUESTED from '@/graphql/app/routeRequested.gql'\n\nexport default {\n  metaInfo: {\n    titleTemplate: chunk => chunk ? `[Beta] ${chunk} - Vue CLI` : '[Beta] Vue CLI'\n  },\n\n  computed: {\n    ready () {\n      return Object.keys(i18n.getLocaleMessage('en')).length\n    }\n  },\n\n  apollo: {\n    $subscribe: {\n      routeRequested: {\n        query: ROUTE_REQUESTED,\n        result ({ data }) {\n          this.$router.push(data.routeRequested)\n        }\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\">\n@import \"~@vue/ui/dist/vue-ui.css\"\n@import \"~@/style/main\"\n</style>\n\n<style lang=\"stylus\" scoped>\n.app\n  display flex\n  flex-direction column\n\n.connection-status,\n.status-bar\n  flex auto 0 0\n\n.content\n  flex auto 1 1\n  height 100%\n  overflow hidden\n\n.app-init-loading\n  z-index 100000\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7f631aef&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=stylus&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=7f631aef&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7f631aef\",\n  null\n  \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Router from 'vue-router'\nimport { apolloClient } from './vue-apollo'\n\nimport ProjectHome from './components/app/ProjectHome.vue'\n\nimport ProjectDashboard from './components/dashboard/ProjectDashboard.vue'\nimport ProjectPlugins from './components/plugin/ProjectPlugins.vue'\nimport ProjectPluginsAdd from './components/plugin/ProjectPluginsAdd.vue'\nimport ProjectConfigurations from './components/configuration/ProjectConfigurations.vue'\nimport ProjectConfigurationDetails from './components/configuration/ProjectConfigurationDetails.vue'\nimport ProjectTasks from './components/task/ProjectTasks.vue'\nimport ProjectTaskDetails from './components/task/ProjectTaskDetails.vue'\nimport ProjectDependencies from './components/dependency/ProjectDependencies.vue'\n\nimport ProjectSelect from './components/project-manager/ProjectSelect.vue'\nimport ProjectCreate from './components/project-create/ProjectCreate.vue'\n\nimport FileDiffView from './components/file-diff/FileDiffView.vue'\n\nimport About from './components/app/About.vue'\nimport NotFound from './components/app/NotFound.vue'\n\nimport PROJECT_CURRENT from './graphql/project/projectCurrent.gql'\nimport CURRENT_PROJECT_ID_SET from './graphql/project/currentProjectIdSet.gql'\n\nVue.use(Router)\n\nconst router = new Router({\n  mode: 'history',\n  routes: [\n    {\n      path: '/',\n      component: ProjectHome,\n      meta: {\n        needProject: true\n      },\n      children: [\n        {\n          path: '',\n          name: 'project-home',\n          redirect: { name: 'project-dashboard' }\n        },\n        {\n          path: 'dashboard',\n          name: 'project-dashboard',\n          component: ProjectDashboard\n        },\n        {\n          path: 'plugins',\n          name: 'project-plugins',\n          component: ProjectPlugins\n        },\n        {\n          path: 'plugins/add',\n          name: 'project-plugins-add',\n          component: ProjectPluginsAdd\n        },\n        {\n          path: 'configuration',\n          name: 'project-configurations',\n          component: ProjectConfigurations,\n          children: [\n            {\n              path: ':id',\n              name: 'project-configuration-details',\n              component: ProjectConfigurationDetails,\n              props: true\n            }\n          ]\n        },\n        {\n          path: 'tasks',\n          name: 'project-tasks',\n          component: ProjectTasks,\n          children: [\n            {\n              path: ':id',\n              name: 'project-task-details',\n              component: ProjectTaskDetails,\n              props: true\n            }\n          ]\n        },\n        {\n          path: 'dependencies',\n          name: 'project-dependencies',\n          component: ProjectDependencies\n        }\n      ]\n    },\n    {\n      path: '/project/select',\n      name: 'project-select',\n      component: ProjectSelect\n    },\n    {\n      path: '/project/create',\n      name: 'project-create',\n      component: ProjectCreate\n    },\n    {\n      path: '/file-diff',\n      name: 'file-diff',\n      component: FileDiffView\n    },\n    {\n      path: '/about',\n      name: 'about',\n      component: About\n    },\n    {\n      path: '/home',\n      name: 'home',\n      redirect: { name: 'project-home' }\n    },\n    {\n      path: '*',\n      name: 'not-found',\n      component: NotFound\n    }\n  ]\n})\n\nrouter.beforeEach(async (to, from, next) => {\n  if (to.matched.some(m => m.meta.needProject)) {\n    const result = await apolloClient.query({\n      query: PROJECT_CURRENT,\n      fetchPolicy: 'network-only'\n    })\n    if (!result.data.projectCurrent) {\n      next({ name: 'project-select' })\n      return\n    } else {\n      await apolloClient.mutate({\n        mutation: CURRENT_PROJECT_ID_SET,\n        variables: {\n          projectId: result.data.projectCurrent.id\n        }\n      })\n    }\n  }\n  next()\n})\n\nexport default router\n","import Vue from 'vue'\nimport router from '../router'\nimport { mergeLocale } from '../i18n'\nimport ProjectHome from '@/components/app/ProjectHome.vue'\n\nexport default class ClientAddonApi {\n  constructor () {\n    this.components = new Map()\n    this.componentListeners = new Map()\n  }\n\n  /**\n   * Register a component globally.\n   *\n   * @param {string} id Component id\n   * @param {object} definition Component definition\n   */\n  component (id, definition) {\n    this.components.set(id, definition)\n    const componentId = toComponentId(id)\n    Vue.component(componentId, definition)\n    // eslint-disable-next-line no-console\n    console.log(`[ClientAddonApi] Registered ${componentId} component`)\n    // Call listeners\n    const listeners = this.componentListeners.get(id)\n    if (listeners) {\n      listeners.forEach(l => l(definition))\n      this.componentListeners.delete(id)\n    }\n  }\n\n  /**\n   * Add routes to vue-router under a /addon/<id> parent route.\n   * For example, addRoutes('foo', [ { path: '' }, { path: 'bar' } ])\n   * will add the /addon/foo/ and the /addon/foo/bar routes to vue-router.\n   *\n   * @param {string} id Routes pack id (generally the vue-cli plugin id)\n   * @param {any} routes vue-router route definitions\n   */\n  addRoutes (id, routes) {\n    router.addRoutes([\n      {\n        path: `/addon/${id}`,\n        component: ProjectHome,\n        meta: {\n          needProject: true,\n          restore: true\n        },\n        children: routes\n      }\n    ])\n    // eslint-disable-next-line no-console\n    console.log(`[ClientAddonApi] Registered new routes under the /addon/${id} route`)\n  }\n\n  /**\n   * Merge new strings into the specified lang translations (using vue-i18n).\n   *\n   * @param {string} lang Locale to merge to (ex: 'en', 'fr'...)\n   * @param {object} strings A vue-i18n strings object containing the translations\n   */\n  addLocalization (lang, strings) {\n    mergeLocale(lang, strings)\n    // eslint-disable-next-line no-console\n    console.log(`[ClientAddonApi] Registered new strings for locale ${lang}`)\n  }\n\n  /* Internal */\n\n  getComponent (id) {\n    return this.components.get(id)\n  }\n\n  listenForComponent (id, cb) {\n    let listeners = this.componentListeners.get(id)\n    if (!listeners) {\n      listeners = []\n      this.componentListeners.set(id, listeners)\n    }\n    listeners.push(cb)\n  }\n\n  awaitComponent (id) {\n    return new Promise((resolve, reject) => {\n      const result = this.getComponent(id)\n      if (result) {\n        resolve(result)\n      } else {\n        this.listenForComponent(id, resolve)\n      }\n    })\n  }\n}\n\nexport function toComponentId (id) {\n  id = id.replace(/\\./g, '-')\n  return `client-addon--${id}`\n}\n","import './plugins'\nimport './register-components'\n\nimport Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport i18n from './i18n'\nimport { apolloProvider } from './vue-apollo'\nimport ClientAddonApi from './util/ClientAddonApi'\nimport gql from 'graphql-tag'\n\nwindow.gql = gql\n\nVue.config.productionTip = false\nVue.config.devtools = true\n\n// For client addons\nwindow.Vue = Vue\nwindow.ClientAddonApi = new ClientAddonApi()\n\nconst app = new Vue({\n  router,\n  apolloProvider,\n  i18n,\n  ...App\n})\n\napp.$mount('#app')\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ApolloQuery',{staticClass:\"suggestion-bar\",attrs:{\"query\":require('@/graphql/suggestion/suggestions.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar data = ref.result.data;\nreturn (data)?[_c('SuggestionBarList',{attrs:{\"suggestions\":_vm.withBuiltins(data.suggestions)}})]:undefined}}],null,true)},[_c('ApolloSubscribeToMore',{attrs:{\"document\":require('@/graphql/suggestion/suggestionAdded.gql'),\"updateQuery\":function (previousResult, ref) {\n      var subscriptionData = ref.subscriptionData;\n\n      var newSuggestion = subscriptionData.data.suggestionAdded\n      if (!previousResult.suggestions) {\n        return {\n          suggestions: [newSuggestion]\n        }\n      }\n      if (previousResult.suggestions.find(function (s) { return s.id === newSuggestion.id; })) {\n        return previousResult\n      }\n      return {\n        suggestions: previousResult.suggestions.concat( [newSuggestion]\n        )\n      }\n    }}}),_c('ApolloSubscribeToMore',{attrs:{\"document\":require('@/graphql/suggestion/suggestionUpdated.gql')}}),_c('ApolloSubscribeToMore',{attrs:{\"document\":require('@/graphql/suggestion/suggestionRemoved.gql'),\"updateQuery\":function (previousResult, ref) {\n        var subscriptionData = ref.subscriptionData;\n\n        return ({\n      suggestions: previousResult.suggestions ? previousResult.suggestions.filter(\n        function (s) { return s.id !== subscriptionData.data.suggestionRemoved.id; }\n      ) : []\n    });\n}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ApolloQuery\n    :query=\"require('@/graphql/suggestion/suggestions.gql')\"\n    class=\"suggestion-bar\"\n  >\n    <ApolloSubscribeToMore\n      :document=\"require('@/graphql/suggestion/suggestionAdded.gql')\"\n      :updateQuery=\"(previousResult, { subscriptionData }) => {\n        const newSuggestion = subscriptionData.data.suggestionAdded\n        if (!previousResult.suggestions) {\n          return {\n            suggestions: [newSuggestion]\n          }\n        }\n        if (previousResult.suggestions.find(s => s.id === newSuggestion.id)) {\n          return previousResult\n        }\n        return {\n          suggestions: [\n            ...previousResult.suggestions,\n            newSuggestion\n          ]\n        }\n      }\"\n    />\n\n    <ApolloSubscribeToMore\n      :document=\"require('@/graphql/suggestion/suggestionUpdated.gql')\"\n    />\n\n    <ApolloSubscribeToMore\n      :document=\"require('@/graphql/suggestion/suggestionRemoved.gql')\"\n      :updateQuery=\"(previousResult, { subscriptionData }) => ({\n        suggestions: previousResult.suggestions ? previousResult.suggestions.filter(\n          s => s.id !== subscriptionData.data.suggestionRemoved.id\n        ) : []\n      })\"\n    />\n\n    <template slot-scope=\"{ result: { data } }\" v-if=\"data\">\n      <SuggestionBarList\n        :suggestions=\"withBuiltins(data.suggestions)\"\n      />\n    </template>\n  </ApolloQuery>\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      forceDevtoolsSuggestion: false\n    }\n  },\n  methods: {\n    // Builtin suggestions\n    withBuiltins (suggestions) {\n      let list = suggestions\n\n      // Install devtools\n      if (this.forceDevtoolsSuggestion || !Object.prototype.hasOwnProperty.call(window, '__VUE_DEVTOOLS_GLOBAL_HOOK__')) {\n        let devtoolsLink = null\n        if (/Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)) {\n          devtoolsLink = 'https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd'\n        } else if (/Firefox/.test(navigator.userAgent)) {\n          devtoolsLink = 'https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/'\n        }\n\n        if (devtoolsLink) {\n          list = [\n            ...list,\n            {\n              id: 'vue-devtools',\n              type: 'action',\n              label: 'org.vue.cli-service.suggestions.vue-devtools.label',\n              message: 'org.vue.cli-service.suggestions.vue-devtools.message',\n              link: 'https://github.com/vuejs/vue-devtools',\n              image: 'https://raw.githubusercontent.com/vuejs/vue-devtools/master/media/screenshot.png',\n              actionLink: devtoolsLink\n            }\n          ]\n        }\n      }\n\n      return list\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.suggestions\n  h-box()\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SuggestionBar.vue?vue&type=template&id=6db62ce8&scoped=true&\"\nimport script from \"./SuggestionBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SuggestionBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SuggestionBar.vue?vue&type=style&index=0&id=6db62ce8&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6db62ce8\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"folderOpenParent\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"folderOpenParent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":115}};\n    doc.loc.source = {\"body\":\"#import \\\"./folderCurrentFragment.gql\\\"\\n\\nmutation folderOpenParent {\\n  folderOpenParent {\\n    ...folderCurrent\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./folderCurrentFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"folderOpenParent\"] = oneQuery(doc, \"folderOpenParent\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedData\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SharedData\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":51}};\n    doc.loc.source = {\"body\":\"fragment sharedData on SharedData {\\n  id\\n  value\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreation\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":114}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectCreationFragment.gql\\\"\\n\\nquery projectCreation {\\n  projectCreation {\\n    ...projectCreation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectCreationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectCreation\"] = oneQuery(doc, \"projectCreation\");\n        \n","var render, staticRenderFns\nimport script from \"./Prompt.vue?vue&type=script&lang=js&\"\nexport * from \"./Prompt.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Prompt.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\nimport ListItemInfo from '@/components/content/ListItemInfo.vue'\n\nexport default {\n  components: {\n    ListItemInfo\n  },\n\n  props: {\n    prompt: {\n      type: Object,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      modifiedValue: undefined\n    }\n  },\n\n  methods: {\n    value (value) {\n      if (this.$options.buffer && typeof this.modifiedValue !== 'undefined') return this.modifiedValue\n      return JSON.parse(value)\n    },\n\n    answer (value) {\n      this.modifiedValue = value\n      this.$emit('answer', value)\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\">\n.prompt\n  list-item()\n  .prompt-content\n    display grid\n    grid-template-columns auto 300px\n    grid-template-rows auto\n    grid-template-areas \"info input\"\n    padding $padding-item\n\n    > .list-item-info\n      grid-area info\n\n    > .prompt-input\n      grid-area input\n      v-box()\n      align-items stretch\n      justify-content center\n\n    &.vertical\n      grid-template-columns auto\n      grid-template-areas \"info\" \"input\"\n      grid-gap $padding-item\n\n  .list-item-info\n    margin-right ($padding-item * 2)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Prompt.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Prompt.vue?vue&type=script&lang=js&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionCall\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"JSON\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionCall\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionResult\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":178}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginActionResultFragment.gql\\\"\\n\\nmutation pluginActionCall ($id: ID!, $params: JSON) {\\n  pluginActionCall (id: $id, params: $params) {\\n    ...pluginActionResult\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginActionResultFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginActionCall\"] = oneQuery(doc, \"pluginActionCall\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigurationItem.vue?vue&type=style&index=0&id=6ca068b0&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigurationItem.vue?vue&type=style&index=0&id=6ca068b0&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"presetApply\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"presetApply\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":138}};\n    doc.loc.source = {\"body\":\"#import \\\"../project/projectCreationFragment.gql\\\"\\n\\nmutation presetApply ($id: ID!) {\\n  presetApply(id: $id) {\\n    ...projectCreation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../project/projectCreationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"presetApply\"] = oneQuery(doc, \"presetApply\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"folderSetFavorite\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"folderSetFavorite\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":190}};\n    doc.loc.source = {\"body\":\"#import \\\"./folderCurrentFragment.gql\\\"\\n\\nmutation folderSetFavorite ($path: String!, $favorite: Boolean!) {\\n  folderSetFavorite (path: $path, favorite: $favorite) {\\n    ...folderCurrent\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./folderCurrentFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"folderSetFavorite\"] = oneQuery(doc, \"folderSetFavorite\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"prompts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"views\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultView\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":257}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskFragment.gql\\\"\\n#import \\\"../prompt/promptFragment.gql\\\"\\n\\nquery task ($id: ID!) {\\n  task (id: $id) {\\n    ...task\\n    link\\n    prompts {\\n      ...prompt\\n    }\\n    views {\\n      id\\n      label\\n      icon\\n      component\\n    }\\n    defaultView\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskFragment.gql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"task\"] = oneQuery(doc, \"task\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PluginInstallation\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"step\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"prompts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":147}};\n    doc.loc.source = {\"body\":\"#import \\\"../prompt/promptFragment.gql\\\"\\n\\nfragment pluginInstallation on PluginInstallation {\\n  id\\n  pluginId\\n  step\\n  prompts {\\n    ...prompt\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"taskStop\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskStop\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":102}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskFragment.gql\\\"\\n\\nmutation taskStop ($id: ID!) {\\n  taskStop (id: $id) {\\n    ...task\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskStop\"] = oneQuery(doc, \"taskStop\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-plugins-add page\"},[_c('div',{staticClass:\"content\"},[_c('portal',{attrs:{\"to\":\"top-title\"}},[_vm._v(_vm._s(_vm.$t('org.vue.views.project-plugins-add.title')))]),_c('StepWizard',{staticClass:\"frame\",attrs:{\"tab-id\":_vm.tabId},on:{\"update:tabId\":function($event){_vm.tabId=$event},\"update:tab-id\":function($event){_vm.tabId=$event}}},[[_c('VueTab',{attrs:{\"id\":\"search\",\"label\":_vm.$t('org.vue.views.project-plugins-add.tabs.search.label'),\"icon\":\"search\",\"disabled\":\"\"}},[_c('NpmPackageSearch',{attrs:{\"filters\":\"computedKeywords:vue-cli-plugin\",\"load-metadata\":\"\"},on:{\"close\":function($event){return _vm.close()},\"install\":_vm.installPlugin}},[_c('template',{slot:\"more-actions\"},[_c('VueButton',{staticClass:\"big flat\",attrs:{\"icon-left\":\"folder\",\"label\":_vm.$t('org.vue.views.project-plugins-add.buttons.add-local')},on:{\"click\":function($event){_vm.showLocalAdd = true}}})],1)],2)],1),_c('VueTab',{attrs:{\"id\":\"config\",\"label\":_vm.$t('org.vue.views.project-plugins-add.tabs.configuration.label'),\"icon\":\"settings_applications\",\"disabled\":\"\",\"lazy\":\"\"}},[_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('div',{staticClass:\"cta-text\"},[_vm._v(_vm._s(_vm.$t('org.vue.views.project-plugins-add.tabs.configuration.heading', { target: _vm.pluginId })))]),_c('PromptsList',{attrs:{\"prompts\":_vm.visiblePrompts},on:{\"answer\":_vm.answerPrompt}})],1),_c('div',{staticClass:\"actions-bar no-padding-x\"},[_c('VueButton',{staticClass:\"big\",attrs:{\"icon-left\":\"arrow_back\",\"label\":_vm.$t('org.vue.views.project-plugins-add.tabs.configuration.buttons.cancel')},on:{\"click\":function($event){_vm.showCancelInstall = true}}}),_c('VueButton',{staticClass:\"big primary\",attrs:{\"icon-left\":\"done\",\"label\":_vm.$t('org.vue.views.project-plugins-add.tabs.configuration.buttons.finish'),\"disabled\":!_vm.configurationValid,\"data-testid\":\"finish-install\"},on:{\"click\":function($event){return _vm.invokePlugin()}}})],1)]),_c('VueTab',{attrs:{\"id\":\"diff\",\"label\":_vm.$t('org.vue.views.project-plugins-add.tabs.diff.label'),\"icon\":\"note_add\",\"disabled\":\"\",\"lazy\":\"\"}},[_c('FileDiffView',{on:{\"continue\":function($event){return _vm.finishInstall()}}})],1)]],2)],1),(_vm.showCancelInstall)?_c('VueModal',{staticClass:\"medium\",attrs:{\"title\":_vm.$t('org.vue.views.project-plugins-add.modal.title', { target: _vm.pluginId })},on:{\"close\":function($event){_vm.showCancelInstall = false}}},[_c('div',{staticClass:\"default-body\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-plugins-add.modal.body', { target: _vm.pluginId }))+\" \")]),_c('div',{staticClass:\"actions end\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat\",attrs:{\"label\":_vm.$t('org.vue.views.project-plugins-add.modal.buttons.back')},on:{\"click\":function($event){_vm.showCancelInstall = false}}}),_c('VueButton',{attrs:{\"label\":_vm.$t('org.vue.views.project-plugins-add.modal.buttons.cancel')},on:{\"click\":function($event){return _vm.cancelInstall()}}}),_c('VueButton',{staticClass:\"danger\",attrs:{\"label\":_vm.$t('org.vue.views.project-plugins-add.modal.buttons.uninstall'),\"icon-left\":\"delete_forever\"},on:{\"click\":function($event){return _vm.uninstallPlugin()}}})],1)]):_vm._e(),(_vm.showLocalAdd)?_c('VueModal',{attrs:{\"title\":_vm.$t('org.vue.views.project-plugin-add-local.title')},on:{\"close\":function($event){return _vm.closeLocalAdd()}}},[_c('div',{staticClass:\"default-body\"},[_c('ProjectPluginAddLocal',{on:{\"installed\":_vm.localPluginInstalled}})],1)]):_vm._e(),_c('ProgressScreen',{attrs:{\"progress-id\":\"plugin-installation\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-plugins-add page\">\n    <div class=\"content\">\n      <portal to=\"top-title\">{{ $t('org.vue.views.project-plugins-add.title') }}</portal>\n      <StepWizard\n        class=\"frame\"\n        :tab-id.sync=\"tabId\"\n      >\n        <template>\n          <VueTab\n            id=\"search\"\n            :label=\"$t('org.vue.views.project-plugins-add.tabs.search.label')\"\n            icon=\"search\"\n            disabled\n          >\n            <NpmPackageSearch\n              filters=\"computedKeywords:vue-cli-plugin\"\n              load-metadata\n              @close=\"close()\"\n              @install=\"installPlugin\"\n            >\n              <template slot=\"more-actions\">\n                <VueButton\n                  icon-left=\"folder\"\n                  :label=\"$t('org.vue.views.project-plugins-add.buttons.add-local')\"\n                  class=\"big flat\"\n                  @click=\"showLocalAdd = true\"\n                />\n              </template>\n            </NpmPackageSearch>\n          </VueTab>\n\n          <VueTab\n            id=\"config\"\n            :label=\"$t('org.vue.views.project-plugins-add.tabs.configuration.label')\"\n            icon=\"settings_applications\"\n            disabled\n            lazy\n          >\n            <div class=\"content vue-ui-disable-scroll\">\n              <div class=\"cta-text\">{{ $t('org.vue.views.project-plugins-add.tabs.configuration.heading', { target: pluginId }) }}</div>\n              <PromptsList\n                :prompts=\"visiblePrompts\"\n                @answer=\"answerPrompt\"\n              />\n            </div>\n\n            <div class=\"actions-bar no-padding-x\">\n              <VueButton\n                icon-left=\"arrow_back\"\n                :label=\"$t('org.vue.views.project-plugins-add.tabs.configuration.buttons.cancel')\"\n                class=\"big\"\n                @click=\"showCancelInstall = true\"\n              />\n\n              <VueButton\n                icon-left=\"done\"\n                :label=\"$t('org.vue.views.project-plugins-add.tabs.configuration.buttons.finish')\"\n                class=\"big primary\"\n                :disabled=\"!configurationValid\"\n                data-testid=\"finish-install\"\n                @click=\"invokePlugin()\"\n              />\n            </div>\n          </VueTab>\n\n          <VueTab\n            id=\"diff\"\n            :label=\"$t('org.vue.views.project-plugins-add.tabs.diff.label')\"\n            icon=\"note_add\"\n            disabled\n            lazy\n          >\n            <FileDiffView\n              @continue=\"finishInstall()\"\n            />\n          </VueTab>\n        </template>\n      </StepWizard>\n    </div>\n\n    <VueModal\n      v-if=\"showCancelInstall\"\n      :title=\"$t('org.vue.views.project-plugins-add.modal.title', { target: pluginId })\"\n      class=\"medium\"\n      @close=\"showCancelInstall = false\"\n    >\n      <div class=\"default-body\">\n        {{ $t('org.vue.views.project-plugins-add.modal.body', { target: pluginId }) }}\n      </div>\n\n      <div slot=\"footer\" class=\"actions end\">\n        <VueButton\n          :label=\"$t('org.vue.views.project-plugins-add.modal.buttons.back')\"\n          class=\"flat\"\n          @click=\"showCancelInstall = false\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.views.project-plugins-add.modal.buttons.cancel')\"\n          @click=\"cancelInstall()\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.views.project-plugins-add.modal.buttons.uninstall')\"\n          icon-left=\"delete_forever\"\n          class=\"danger\"\n          @click=\"uninstallPlugin()\"\n        />\n      </div>\n    </VueModal>\n\n    <VueModal\n      v-if=\"showLocalAdd\"\n      :title=\"$t('org.vue.views.project-plugin-add-local.title')\"\n      @close=\"closeLocalAdd()\"\n    >\n      <div class=\"default-body\">\n        <ProjectPluginAddLocal\n          @installed=\"localPluginInstalled\"\n        />\n      </div>\n    </VueModal>\n\n    <ProgressScreen\n      progress-id=\"plugin-installation\"\n    />\n  </div>\n</template>\n\n<script>\nimport Prompts from '@/mixins/Prompts'\n\nimport PLUGIN_INSTALLATION from '@/graphql/plugin/pluginInstallation.gql'\nimport PLUGIN_INSTALL from '@/graphql/plugin/pluginInstall.gql'\nimport PLUGIN_UNINSTALL from '@/graphql/plugin/pluginUninstall.gql'\nimport PLUGIN_INVOKE from '@/graphql/plugin/pluginInvoke.gql'\nimport PLUGIN_FINISH_INSTALL from '@/graphql/plugin/pluginFinishInstall.gql'\nimport PROJECT_CWD_RESET from '@/graphql/project/projectCwdReset.gql'\n\nexport default {\n  name: 'ProjectPluginsAdd',\n\n  mixins: [\n    Prompts({\n      field: 'pluginInstallation',\n      query: PLUGIN_INSTALLATION\n    })\n  ],\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-plugins-add.title')\n    }\n  },\n\n  data () {\n    return {\n      tabId: 'search',\n      showCancelInstall: false,\n      pluginInstallation: null,\n      showLocalAdd: false\n    }\n  },\n\n  apollo: {\n    pluginInstallation: {\n      query: PLUGIN_INSTALLATION,\n      fetchPolicy: 'network-only',\n      result () {\n        this.checkTab()\n      }\n    }\n  },\n\n  computed: {\n    pluginId () {\n      return this.pluginInstallation && this.pluginInstallation.pluginId\n    }\n  },\n\n  mounted () {\n    requestAnimationFrame(() => {\n      this.checkTab()\n    })\n  },\n\n  destroyed () {\n    this.closeLocalAdd()\n  },\n\n  methods: {\n    close () {\n      this.$router.push({ name: 'project-plugins' })\n    },\n\n    checkTab () {\n      if (!this.pluginInstallation) return\n\n      if (this.pluginInstallation.pluginId) {\n        this.tabId = 'config'\n      } else {\n        this.tabId = 'search'\n      }\n\n      switch (this.pluginInstallation.step) {\n        case 'config':\n          this.tabId = 'config'\n          break\n        case 'diff':\n          this.tabId = 'diff'\n          break\n        default:\n          this.tabId = 'search'\n      }\n    },\n\n    async installPlugin (id) {\n      try {\n        await this.$apollo.mutate({\n          mutation: PLUGIN_INSTALL,\n          variables: {\n            id\n          }\n        })\n        this.tabId = 'config'\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n    },\n\n    cancelInstall () {\n      this.tabId = 'search'\n      this.showCancelInstall = false\n    },\n\n    localPluginInstalled () {\n      this.closeLocalAdd()\n      this.tabId = 'config'\n    },\n\n    async closeLocalAdd () {\n      this.showLocalAdd = false\n      await this.$apollo.mutate({\n        mutation: PROJECT_CWD_RESET\n      })\n    },\n\n    async uninstallPlugin () {\n      this.showCancelInstall = false\n      try {\n        await this.$apollo.mutate({\n          mutation: PLUGIN_UNINSTALL,\n          variables: {\n            id: this.pluginId\n          }\n        })\n        this.cancelInstall()\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n    },\n\n    async invokePlugin () {\n      try {\n        await this.$apollo.mutate({\n          mutation: PLUGIN_INVOKE,\n          variables: {\n            id: this.pluginId\n          }\n        })\n        this.tabId = 'diff'\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n    },\n\n    async finishInstall () {\n      try {\n        await this.$apollo.mutate({\n          mutation: PLUGIN_FINISH_INSTALL\n        })\n        this.close()\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-plugins-add\n  display grid\n  grid-template-columns 1fr\n  grid-template-rows auto\n  grid-template-areas \"content\"\n\n.content\n  grid-area content\n  overflow hidden\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginsAdd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginsAdd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectPluginsAdd.vue?vue&type=template&id=290be5fe&scoped=true&\"\nimport script from \"./ProjectPluginsAdd.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectPluginsAdd.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectPluginsAdd.vue?vue&type=style&index=0&id=290be5fe&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"290be5fe\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-diff-view\"},[_c('div',{staticClass:\"toolbar\"},[_c('VueIcon',{attrs:{\"icon\":\"cached\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.file-diff-view.files-changed')))]),_c('div',{staticClass:\"file-count\"},[_vm._v(_vm._s(_vm.fileDiffs && _vm.fileDiffs.length))]),_c('transition',{attrs:{\"name\":\"vue-ui-fade\"}},[(_vm.loading && _vm.fileDiffs.length)?_c('VueLoadingIndicator',{staticClass:\"small accent\"}):_vm._e()],1),_c('div',{staticClass:\"vue-ui-spacer\"}),_c('VueInput',{attrs:{\"icon-left\":\"search\",\"placeholder\":_vm.$t('org.vue.components.file-diff-view.search-file')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('VueButton',{attrs:{\"icon-left\":_vm.allCollapsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up',\"label\":_vm.$t((\"org.vue.components.file-diff-view.actions.\" + (_vm.allCollapsed ? 'expand-all' : 'collapse-all')))},on:{\"click\":function($event){return _vm.setCollapsedToAll(!_vm.allCollapsed)}}}),_c('VueButton',{staticClass:\"icon-button\",attrs:{\"icon-left\":\"refresh\"},on:{\"click\":function($event){return _vm.refresh()}}})],1),_c('div',{staticClass:\"list\"},[(_vm.error || !_vm.fileDiffs)?_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"empty-icon\",attrs:{\"icon\":\"error\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.file-diff-view.error')))])],1):(!_vm.filteredList.length)?_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"empty-icon\",attrs:{\"icon\":\"check_circle\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.file-diff-view.empty')))])],1):_vm._l((_vm.filteredList),function(fileDiff){return _c('FileDiff',{key:fileDiff.id,attrs:{\"file-diff\":fileDiff,\"collapsed\":!!_vm.collapsed[fileDiff.id]},on:{\"update:collapsed\":function (value) { return _vm.$set(_vm.collapsed, fileDiff.id, value); }}})})],2),_c('div',{staticClass:\"actions-bar\"},[(!_vm.error && _vm.fileDiffs && _vm.fileDiffs.length)?[_c('VueButton',{staticClass:\"big primary\",attrs:{\"icon-left\":\"vertical_align_bottom\",\"label\":_vm.$t('org.vue.components.file-diff-view.actions.commit')},on:{\"click\":function($event){_vm.showCommitModal = true}}}),_c('VueButton',{staticClass:\"big\",attrs:{\"label\":_vm.$t('org.vue.components.file-diff-view.actions.skip'),\"data-testid\":\"skip-button\"},on:{\"click\":function($event){return _vm.skip()}}})]:[_c('VueButton',{staticClass:\"big primary\",attrs:{\"icon-left\":\"done\",\"label\":_vm.$t('org.vue.components.file-diff-view.actions.continue'),\"data-testid\":\"skip-button\"},on:{\"click\":function($event){return _vm.skip()}}}),_c('VueButton',{staticClass:\"big\",attrs:{\"label\":_vm.$t('org.vue.components.file-diff-view.actions.refresh'),\"icon-left\":\"refresh\"},on:{\"click\":function($event){return _vm.refresh()}}})]],2),_c('transition',{attrs:{\"name\":\"vue-ui-fade\"}},[(_vm.loading && !_vm.fileDiffs.length)?_c('VueLoadingIndicator',{staticClass:\"accent big overlay\"}):_vm._e()],1),(_vm.showCommitModal)?_c('VueModal',{staticClass:\"medium\",attrs:{\"title\":_vm.$t('org.vue.components.file-diff-view.modals.commit.title')},on:{\"close\":function($event){_vm.showCommitModal = false}}},[_c('div',{staticClass:\"default-body\"},[_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.components.file-diff-view.modals.commit.input'),\"subtitle\":_vm.$t('org.vue.components.file-diff-view.modals.commit.subtitle')}},[_c('VueInput',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"icon-left\":\"local_offer\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.commitMessage && _vm.commit()}},model:{value:(_vm.commitMessage),callback:function ($$v) {_vm.commitMessage=$$v},expression:\"commitMessage\"}})],1)],1),_c('div',{staticClass:\"actions center\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat\",attrs:{\"label\":_vm.$t('org.vue.components.file-diff-view.modals.commit.actions.cancel')},on:{\"click\":function($event){_vm.showCommitModal = false}}}),_c('VueButton',{staticClass:\"primary\",attrs:{\"label\":_vm.$t('org.vue.components.file-diff-view.modals.commit.actions.commit'),\"icon-left\":\"vertical_align_bottom\",\"disabled\":!_vm.commitMessage},on:{\"click\":function($event){return _vm.commit()}}})],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\n\nconst vm = new Vue({\n  data: {\n    documentVisible: !document.hidden,\n    documentFocus: document.hasFocus()\n  }\n})\n\ndocument.addEventListener('visibilitychange', () => {\n  vm.documentVisible = !document.hidden\n}, false)\n\nwindow.addEventListener('focus', () => {\n  vm.documentFocus = true\n})\n\nwindow.addEventListener('blur', () => {\n  vm.documentFocus = false\n})\n\n// @vue/component\nexport default {\n  computed: {\n    documentVisible () {\n      return vm.documentVisible\n    },\n\n    documentFocus () {\n      return vm.documentFocus\n    }\n  }\n}\n","<template>\n  <div class=\"file-diff-view\">\n    <div class=\"toolbar\">\n      <VueIcon icon=\"cached\"/>\n      <div class=\"title\">{{ $t('org.vue.components.file-diff-view.files-changed') }}</div>\n      <div class=\"file-count\">{{ fileDiffs && fileDiffs.length }}</div>\n      <transition name=\"vue-ui-fade\">\n        <VueLoadingIndicator\n          v-if=\"loading && fileDiffs.length\"\n          class=\"small accent\"\n        />\n      </transition>\n      <div class=\"vue-ui-spacer\"/>\n      <VueInput\n        v-model=\"search\"\n        icon-left=\"search\"\n        :placeholder=\"$t('org.vue.components.file-diff-view.search-file')\"\n      />\n      <VueButton\n        :icon-left=\"allCollapsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'\"\n        :label=\"$t(`org.vue.components.file-diff-view.actions.${allCollapsed ? 'expand-all' : 'collapse-all'}`)\"\n        @click=\"setCollapsedToAll(!allCollapsed)\"\n      />\n      <VueButton\n        icon-left=\"refresh\"\n        class=\"icon-button\"\n        @click=\"refresh()\"\n      />\n    </div>\n    <div class=\"list\">\n      <div v-if=\"error || !fileDiffs\" class=\"vue-ui-empty\">\n        <VueIcon icon=\"error\" class=\"empty-icon\"/>\n        <span>{{ $t('org.vue.components.file-diff-view.error') }}</span>\n      </div>\n\n      <div v-else-if=\"!filteredList.length\" class=\"vue-ui-empty\">\n        <VueIcon icon=\"check_circle\" class=\"empty-icon\"/>\n        <span>{{ $t('org.vue.components.file-diff-view.empty') }}</span>\n      </div>\n\n      <template v-else>\n        <FileDiff\n          v-for=\"fileDiff of filteredList\"\n          :key=\"fileDiff.id\"\n          :file-diff=\"fileDiff\"\n          :collapsed=\"!!collapsed[fileDiff.id]\"\n          @update:collapsed=\"value => $set(collapsed, fileDiff.id, value)\"\n        />\n      </template>\n    </div>\n    <div class=\"actions-bar\">\n      <template v-if=\"!error && fileDiffs && fileDiffs.length\">\n        <VueButton\n          icon-left=\"vertical_align_bottom\"\n          :label=\"$t('org.vue.components.file-diff-view.actions.commit')\"\n          class=\"big primary\"\n          @click=\"showCommitModal = true\"\n        />\n        <VueButton\n          :label=\"$t('org.vue.components.file-diff-view.actions.skip')\"\n          class=\"big\"\n          data-testid=\"skip-button\"\n          @click=\"skip()\"\n        />\n      </template>\n      <template v-else>\n        <VueButton\n          icon-left=\"done\"\n          :label=\"$t('org.vue.components.file-diff-view.actions.continue')\"\n          class=\"big primary\"\n          data-testid=\"skip-button\"\n          @click=\"skip()\"\n        />\n        <VueButton\n          :label=\"$t('org.vue.components.file-diff-view.actions.refresh')\"\n          icon-left=\"refresh\"\n          class=\"big\"\n          @click=\"refresh()\"\n        />\n      </template>\n    </div>\n\n    <transition name=\"vue-ui-fade\">\n      <VueLoadingIndicator\n        v-if=\"loading && !fileDiffs.length\"\n        class=\"accent big overlay\"\n      />\n    </transition>\n\n    <VueModal\n      v-if=\"showCommitModal\"\n      :title=\"$t('org.vue.components.file-diff-view.modals.commit.title')\"\n      class=\"medium\"\n      @close=\"showCommitModal = false\"\n    >\n      <div class=\"default-body\">\n        <VueFormField\n          :title=\"$t('org.vue.components.file-diff-view.modals.commit.input')\"\n          :subtitle=\"$t('org.vue.components.file-diff-view.modals.commit.subtitle')\"\n        >\n          <VueInput\n            v-model=\"commitMessage\"\n            icon-left=\"local_offer\"\n            v-focus\n            @keyup.enter=\"commitMessage && commit()\"\n          />\n        </VueFormField>\n      </div>\n\n      <div slot=\"footer\" class=\"actions center\">\n        <VueButton\n          :label=\"$t('org.vue.components.file-diff-view.modals.commit.actions.cancel')\"\n          class=\"flat\"\n          @click=\"showCommitModal = false\"\n        />\n        <VueButton\n          :label=\"$t('org.vue.components.file-diff-view.modals.commit.actions.commit')\"\n          class=\"primary\"\n          icon-left=\"vertical_align_bottom\"\n          :disabled=\"!commitMessage\"\n          @click=\"commit()\"\n        />\n      </div>\n    </VueModal>\n  </div>\n</template>\n\n<script>\nimport PageVisibility from '@/mixins/PageVisibility'\n\nimport FILE_DIFFS from '@/graphql/git/fileDiffs.gql'\nimport GIT_COMMIT from '@/graphql/git/gitCommit.gql'\n\nconst defaultCollapsed = [\n  'yarn.lock',\n  'pnpm-lock.yaml',\n  'package-lock.json'\n]\n\nexport default {\n  mixins: [\n    PageVisibility\n  ],\n\n  data () {\n    return {\n      fileDiffs: [],\n      collapsed: {},\n      search: '',\n      loading: 0,\n      commitMessage: '',\n      showCommitModal: false,\n      error: null\n    }\n  },\n\n  apollo: {\n    fileDiffs: {\n      query: FILE_DIFFS,\n      loadingKey: 'loading',\n      fetchPolicy: 'network-only',\n      error (error) {\n        this.error = error\n      },\n      result (result) {\n        if (result.errors && result.errors.length) {\n          this.error = result.errors[0]\n          return\n        }\n\n        this.error = null\n        this.fileDiffs.forEach(fileDiff => {\n          if (typeof this.collapsed[fileDiff.id] === 'undefined' && (\n            fileDiff.binary ||\n            defaultCollapsed.includes(fileDiff.from) ||\n            defaultCollapsed.includes(fileDiff.to)\n          )) {\n            this.$set(this.collapsed, fileDiff.id, true)\n          }\n        })\n      }\n    }\n  },\n\n  computed: {\n    allCollapsed () {\n      if (!this.fileDiffs) return false\n      return !this.fileDiffs.find(\n        fileDiff => !this.collapsed[fileDiff.id]\n      )\n    },\n\n    filteredList () {\n      if (!this.fileDiffs) return []\n      const search = this.search.trim()\n      if (search) {\n        const reg = new RegExp(search.replace(/\\s+/g, '.*'), 'i')\n        return this.fileDiffs.filter(\n          fileDiff => reg.test(fileDiff.from) || reg.test(fileDiff.to)\n        )\n      } else {\n        return this.fileDiffs\n      }\n    }\n  },\n\n  watch: {\n    documentFocus (value) {\n      if (value) {\n        this.refresh()\n      }\n    }\n  },\n\n  methods: {\n    setCollapsedToAll (value) {\n      const map = {}\n      this.fileDiffs.forEach(fileDiff => {\n        map[fileDiff.id] = value ||\n          defaultCollapsed.includes(fileDiff.from) ||\n          defaultCollapsed.includes(fileDiff.to)\n      })\n      this.collapsed = map\n    },\n\n    refresh () {\n      this.$apollo.queries.fileDiffs.refetch()\n    },\n\n    async commit () {\n      this.showCommitModal = false\n      this.loading++\n      try {\n        await this.$apollo.mutate({\n          mutation: GIT_COMMIT,\n          variables: {\n            message: this.commitMessage\n          }\n        })\n        this.refresh()\n        this.$emit('continue')\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n      this.loading--\n    },\n\n    skip () {\n      this.$emit('continue')\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.file-diff-view\n  v-box()\n  height 100%\n  position relative\n\n  .toolbar\n    padding $padding-item\n    h-box()\n    align-items center\n\n    >>> > *\n      space-between-x($padding-item)\n\n    .file-count\n      padding 3px 6px\n      background darken($vue-ui-color-light, 3%)\n      border-radius $br\n      .vue-ui-dark-mode &\n        background $vue-ui-color-dark\n\n  .list\n    flex 100% 1 1\n    height 0\n    overflow-x hidden\n    overflow-y auto\n\n  .actions-bar\n    .vue-ui-button\n      min-width 190px\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileDiffView.vue?vue&type=template&id=e6aca748&scoped=true&\"\nimport script from \"./FileDiffView.vue?vue&type=script&lang=js&\"\nexport * from \"./FileDiffView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileDiffView.vue?vue&type=style&index=0&id=e6aca748&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e6aca748\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLogsClear\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLogsClear\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":112}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskFragment.gql\\\"\\n\\nmutation taskLogsClear ($id: ID!) {\\n  taskLogsClear (id: $id) {\\n    ...task\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskLogsClear\"] = oneQuery(doc, \"taskLogsClear\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCancelCreation\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCancelCreation\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":58}};\n    doc.loc.source = {\"body\":\"mutation projectCancelCreation {\\n  projectCancelCreation\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectCancelCreation\"] = oneQuery(doc, \"projectCancelCreation\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchPagination.vue?vue&type=style&index=0&id=43c44150&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchPagination.vue?vue&type=style&index=0&id=43c44150&lang=stylus&scoped=true&\"","var render, staticRenderFns\nimport script from \"./ListSort.vue?vue&type=script&lang=js&\"\nexport * from \"./ListSort.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\nexport default {\n  functional: true,\n\n  render (h, { props, data }) {\n    return h('div', data.scopedSlots.default({ list: props.list.slice().sort(props.compare) }))\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListSort.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListSort.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPresetItem.vue?vue&type=style&index=0&id=79290378&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPresetItem.vue?vue&type=style&index=0&id=79290378&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalView.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalView.vue?vue&type=style&index=0&lang=stylus&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionAdded\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionAdded\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestion\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":110}};\n    doc.loc.source = {\"body\":\"#import \\\"./suggestionFragment.gql\\\"\\n\\nsubscription suggestionAdded {\\n  suggestionAdded {\\n    ...suggestion\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./suggestionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"suggestionAdded\"] = oneQuery(doc, \"suggestionAdded\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDisable',{staticClass:\"prompt prompt-color\",attrs:{\"disabled\":!_vm.prompt.enabled}},[_c('div',{staticClass:\"prompt-content\"},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.prompt.message),\"description\":_vm.$t(_vm.prompt.description),\"link\":_vm.prompt.link}}),_c('VueDropdown',{staticClass:\"prompt-input\"},[_c('VueInput',{attrs:{\"slot\":\"trigger\",\"value\":_vm.value(_vm.prompt.value)},on:{\"update\":function (value) { return _vm.answer(value); }},slot:\"trigger\"},[_c('div',{staticClass:\"color-preview\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('div',{staticClass:\"color-swatch\",style:({\n            backgroundColor: _vm.value(_vm.prompt.value)\n          })})])]),_c('ColorPicker',{staticClass:\"color-picker\",attrs:{\"value\":_vm.value(_vm.prompt.value)},on:{\"input\":function (value) { return _vm.answer(value.hex); }}})],1)],1),_c('PromptError',{attrs:{\"error\":_vm.prompt.error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDisable\n    :disabled=\"!prompt.enabled\"\n    class=\"prompt prompt-color\"\n  >\n    <div class=\"prompt-content\">\n      <ListItemInfo\n        :name=\"$t(prompt.message)\"\n        :description=\"$t(prompt.description)\"\n        :link=\"prompt.link\"\n      />\n\n      <VueDropdown\n        class=\"prompt-input\"\n      >\n        <VueInput\n          slot=\"trigger\"\n          :value=\"value(prompt.value)\"\n          @update=\"value => answer(value)\"\n        >\n          <div slot=\"right\" class=\"color-preview\">\n            <div class=\"color-swatch\" :style=\"{\n              backgroundColor: value(prompt.value)\n            }\" />\n          </div>\n        </VueInput>\n\n        <ColorPicker\n          class=\"color-picker\"\n          :value=\"value(prompt.value)\"\n          @input=\"value => answer(value.hex)\"\n        />\n      </VueDropdown>\n    </div>\n\n    <PromptError :error=\"prompt.error\"/>\n  </VueDisable>\n</template>\n\n<script>\nimport Prompt from './Prompt'\nimport { Sketch } from 'vue-color'\n\nexport default {\n  extends: Prompt,\n\n  components: {\n    ColorPicker: Sketch\n  },\n\n  buffer: true\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.color-preview\n  padding-left $padding-item\n\n.color-swatch\n  width 18px\n  height @width\n  border-radius 50%\n\n.color-picker\n  width 300px !important\n  height 370px !important\n  background none\n  box-shadow none\n  padding ($padding-item - 4px) $padding-item\n\n  >>> .vc-sketch-presets\n    border-top-color rgba(black, .1)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptColor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptColor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptColor.vue?vue&type=template&id=17ce3a2a&scoped=true&\"\nimport script from \"./PromptColor.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptColor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PromptColor.vue?vue&type=style&index=0&id=17ce3a2a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"17ce3a2a\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"dependenciesUpdate\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependenciesUpdate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":100}};\n    doc.loc.source = {\"body\":\"mutation dependenciesUpdate {\\n  dependenciesUpdate {\\n    id\\n    version {\\n      current\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"dependenciesUpdate\"] = oneQuery(doc, \"dependenciesUpdate\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChange.vue?vue&type=style&index=0&id=3d1b750a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChange.vue?vue&type=style&index=0&id=3d1b750a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallLocal\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallLocal\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":129}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginInstallationFragment.gql\\\"\\n\\nmutation pluginInstallLocal {\\n  pluginInstallLocal {\\n    ...pluginInstallation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginInstallationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginInstallLocal\"] = oneQuery(doc, \"pluginInstallLocal\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"configurationSave\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configurationSave\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":138}};\n    doc.loc.source = {\"body\":\"#import \\\"./configurationFragment.gql\\\"\\n\\nmutation configurationSave ($id: ID!) {\\n  configurationSave (id: $id) {\\n    ...configuration\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./configurationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"configurationSave\"] = oneQuery(doc, \"configurationSave\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNavButton.vue?vue&type=style&index=0&id=27979e8c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNavButton.vue?vue&type=style&index=0&id=27979e8c&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tabs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"prompts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":265}};\n    doc.loc.source = {\"body\":\"#import \\\"./configurationFragment.gql\\\"\\n#import \\\"../prompt/promptFragment.gql\\\"\\n\\nquery configuration ($id: ID!) {\\n  configuration(id: $id) {\\n    ...configuration\\n    link\\n    tabs {\\n      id\\n      label\\n      icon\\n      prompts {\\n        ...prompt\\n      }\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./configurationFragment.gql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"configuration\"] = oneQuery(doc, \"configuration\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"instant-search-input\"},[_c('VueInput',{ref:\"input\",staticClass:\"big\",attrs:{\"icon-left\":\"search\",\"placeholder\":_vm.placeholder},model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}},[_c('template',{slot:\"right\"},[_c('VueButton',{staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"clear\"},on:{\"click\":function($event){return _vm.clear()}}})],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"instant-search-input\">\n    <VueInput\n      ref=\"input\"\n      icon-left=\"search\"\n      v-model=\"query\"\n      class=\"big\"\n      :placeholder=\"placeholder\"\n    >\n      <template slot=\"right\">\n        <VueButton\n          class=\"icon-button flat\"\n          icon-left=\"clear\"\n          @click=\"clear()\"\n        />\n      </template>\n    </VueInput>\n  </div>\n</template>\n\n<script>\nimport { Component } from 'vue-instantsearch'\n\nexport default {\n  mixins: [\n    Component\n  ],\n\n  props: {\n    placeholder: {\n      type: String,\n      default: null\n    }\n  },\n\n  computed: {\n    query: {\n      get () {\n        return this.searchStore.query\n      },\n      set (value) {\n        this.searchStore.stop()\n        this.searchStore.query = value\n        this.$emit('query', value)\n        // We here ensure we give the time to listeners to alter the store's state\n        // without triggering in between ghost queries.\n        this.$nextTick(() => {\n          this.searchStore.start()\n          this.searchStore.refresh()\n        })\n      }\n    }\n  },\n\n  methods: {\n    clear () {\n      this.searchStore.stop()\n      if (this.searchStore.query.length > 0) {\n        this.searchStore.query = ''\n      }\n      if (this.searchStore.activeRefinements.length > 0) {\n        this.searchStore.clearRefinements()\n      }\n      this.searchStore.start()\n      this.searchStore.refresh()\n    },\n\n    focus () {\n      this.$refs.input.focus()\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.instant-search-input\n  .vue-ui-input\n    width 100%\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstantSearchInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InstantSearchInput.vue?vue&type=template&id=615eeb16&scoped=true&\"\nimport script from \"./InstantSearchInput.vue?vue&type=script&lang=js&\"\nexport * from \"./InstantSearchInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InstantSearchInput.vue?vue&type=style&index=0&id=615eeb16&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"615eeb16\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"package-search-item list-item\",class:{\n    selected: _vm.selected\n  }},[_c('ItemLogo',{attrs:{\"image\":_vm.logoUrl,\"selected\":_vm.selected,\"fallback-icon\":\"extension\"}}),_c('ListItemInfo',{attrs:{\"link\":_vm.pkg.homepage || (_vm.pkg.repository && _vm.pkg.repository.url) || '',\"selected\":_vm.selected,\"show-description\":\"\"}},[_c('template',{slot:\"name\"},[_c('span',{staticClass:\"name\",attrs:{\"data-testid\":\"name\"}},[_c('ais-highlight',{attrs:{\"result\":_vm.pkg,\"attribute-name\":\"name\"}})],1),_c('span',{staticClass:\"version\"},[_vm._v(_vm._s(_vm.pkg.version))])]),_c('template',{slot:\"description\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.pkg.description),expression:\"pkg.description\"}],staticClass:\"info description\"},[_c('ais-highlight',{attrs:{\"result\":_vm.pkg,\"attribute-name\":\"description\"}})],1),(_vm.official)?_c('span',{staticClass:\"info\"},[_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"star\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.project-plugin-item.official')))])],1):_vm._e(),_c('span',{staticClass:\"info downloads\"},[_c('VueIcon',{staticClass:\"medium\",attrs:{\"icon\":\"file_download\"}}),_c('span',[_vm._v(_vm._s(_vm.pkg.humanDownloadsLast30Days))])],1),_c('span',{staticClass:\"info owner\"},[_c('VueIcon',{staticClass:\"medium\",attrs:{\"icon\":\"account_circle\"}}),_c('span',[_vm._v(_vm._s(_vm.pkg.owner.name))])],1)])],2),(_vm.hasGenerator)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-plugin-item.features.generator')),expression:\"$t('org.vue.components.project-plugin-item.features.generator')\"}],staticClass:\"feature\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"note_add\"}})],1):_vm._e(),(_vm.hasUiIntegration)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-plugin-item.features.ui-integration')),expression:\"$t('org.vue.components.project-plugin-item.features.ui-integration')\"}],staticClass:\"feature\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"brush\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"package-search-item list-item\"\n    :class=\"{\n      selected\n    }\"\n  >\n    <ItemLogo\n      :image=\"logoUrl\"\n      :selected=\"selected\"\n      fallback-icon=\"extension\"\n    />\n\n    <ListItemInfo\n      :link=\"pkg.homepage || (pkg.repository && pkg.repository.url) || ''\"\n      :selected=\"selected\"\n      show-description\n    >\n      <template slot=\"name\">\n        <span class=\"name\" data-testid=\"name\">\n          <ais-highlight\n            :result=\"pkg\"\n            attribute-name=\"name\"\n          />\n        </span>\n        <span class=\"version\">{{ pkg.version }}</span>\n      </template>\n      <template slot=\"description\">\n        <span\n          class=\"info description\"\n          v-tooltip=\"pkg.description\"\n        >\n          <ais-highlight\n            :result=\"pkg\"\n            attribute-name=\"description\"\n          />\n        </span>\n        <span v-if=\"official\" class=\"info\">\n          <VueIcon icon=\"star\" class=\"top medium\"/>\n          <span>{{ $t('org.vue.components.project-plugin-item.official') }}</span>\n        </span>\n        <span class=\"info downloads\">\n          <VueIcon class=\"medium\" icon=\"file_download\"/>\n          <span>{{ pkg.humanDownloadsLast30Days }}</span>\n        </span>\n        <span class=\"info owner\">\n          <VueIcon class=\"medium\" icon=\"account_circle\"/>\n          <span>{{ pkg.owner.name }}</span>\n        </span>\n      </template>\n    </ListItemInfo>\n\n    <div\n      v-if=\"hasGenerator\"\n      class=\"feature\"\n      v-tooltip=\"$t('org.vue.components.project-plugin-item.features.generator')\"\n    >\n      <VueIcon\n        icon=\"note_add\"\n        class=\"big\"\n      />\n    </div>\n    <div\n      v-if=\"hasUiIntegration\"\n      class=\"feature\"\n      v-tooltip=\"$t('org.vue.components.project-plugin-item.features.ui-integration')\"\n    >\n      <VueIcon\n        icon=\"brush\"\n        class=\"big\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    pkg: {\n      type: Object,\n      required: true\n    },\n\n    selected: {\n      type: Boolean,\n      default: false\n    },\n\n    loadMetadata: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  data () {\n    return {\n      logoUrl: null,\n      hasGenerator: false,\n      hasUiIntegration: false\n    }\n  },\n\n  computed: {\n    official () {\n      return this.pkg.owner.name === 'vuejs'\n    }\n  },\n\n  watch: {\n    'pkg.name': {\n      handler: 'updateMetadata',\n      immediate: true\n    }\n  },\n\n  methods: {\n    updateMetadata () {\n      const name = this.pkg.name\n\n      this.hasUiIntegration = false\n      this.hasGenerator = false\n      // By default, show the npm user avatar\n      this.logoUrl = this.pkg.owner.avatar\n\n      // Try to load the logo.png file inside the package\n      if (this.loadMetadata) {\n        const img = new Image()\n        img.onload = () => {\n          if (name !== this.pkg.name) return\n          this.logoUrl = img.src\n        }\n        img.src = `https://unpkg.com/${name}/logo.png`\n\n        fetch(`https://unpkg.com/${name}/ui`).then(response => {\n          if (name !== this.pkg.name) return\n          this.hasUiIntegration = response.ok\n        })\n\n        fetch(`https://unpkg.com/${name}/generator`).then(response => {\n          if (name !== this.pkg.name) return\n          this.hasGenerator = response.ok\n        })\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.package-search-item\n  padding $padding-item\n  h-box()\n  box-center()\n\n  .list-item-info\n    flex 100% 1 1\n    width 0\n    >>> .description\n      display inline-flex\n      align-items baseline\n\n  .name\n    font-weight bold\n\n  .version\n    color $color-text-light\n    margin-left 6px\n\n  .info\n    space-between-x(6px)\n\n    &.description\n      font-style italic\n      max-width 550px\n      white-space nowrap\n      text-overflow ellipsis\n      display block\n      overflow hidden\n\n    &.downloads\n      text-transform uppercase\n\n    &.owner\n      .vue-ui-icon\n        margin-right 2px\n\n  .feature\n    margin-right 12px\n    opacity .3\n    &:hover\n      opacity 1\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageSearchItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageSearchItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PackageSearchItem.vue?vue&type=template&id=40f3faa6&scoped=true&\"\nimport script from \"./PackageSearchItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PackageSearchItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PackageSearchItem.vue?vue&type=style&index=0&id=40f3faa6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"40f3faa6\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurationDetails.vue?vue&type=style&index=0&id=54636a5c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurationDetails.vue?vue&type=style&index=0&id=54636a5c&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTaskDetails.vue?vue&type=style&index=0&id=074b7efc&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTaskDetails.vue?vue&type=style&index=0&id=074b7efc&lang=stylus&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=stylus&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectList.vue?vue&type=style&index=0&id=7fe81cfe&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectList.vue?vue&type=style&index=0&id=7fe81cfe&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddItem.vue?vue&type=style&index=0&id=4fd981a4&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddItem.vue?vue&type=style&index=0&id=4fd981a4&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyUpdate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DependencyUpdate\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyUpdate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":139}};\n    doc.loc.source = {\"body\":\"mutation dependencyUpdate ($input: DependencyUpdate!) {\\n  dependencyUpdate (input: $input) {\\n    id\\n    version {\\n      current\\n    }\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"dependencyUpdate\"] = oneQuery(doc, \"dependencyUpdate\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"viewRemoved\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewRemoved\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"view\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":91}};\n    doc.loc.source = {\"body\":\"#import \\\"./viewFragment.gql\\\"\\n\\nsubscription viewRemoved {\\n  viewRemoved {\\n    ...view\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./viewFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"viewRemoved\"] = oneQuery(doc, \"viewRemoved\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"fileOpenInEditor\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OpenInEditorInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileOpenInEditor\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":94}};\n    doc.loc.source = {\"body\":\"mutation fileOpenInEditor ($input: OpenInEditorInput!) {\\n  fileOpenInEditor (input: $input)\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"fileOpenInEditor\"] = oneQuery(doc, \"fileOpenInEditor\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=style&index=0&id=144ede8a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=style&index=0&id=144ede8a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddon\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientAddon\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":51}};\n    doc.loc.source = {\"body\":\"fragment clientAddon on ClientAddon {\\n  id\\n  url\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedDataUpdate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"JSON\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedDataUpdate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedData\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":200}};\n    doc.loc.source = {\"body\":\"#import \\\"./sharedDataFragment.gql\\\"\\n\\nmutation sharedDataUpdate ($id: ID!, $projectId: ID!, $value: JSON!) {\\n  sharedDataUpdate (id: $id, projectId: $projectId, value: $value) {\\n    ...sharedData\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./sharedDataFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"sharedDataUpdate\"] = oneQuery(doc, \"sharedDataUpdate\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"taskRestoreParameters\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskRestoreParameters\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":139}};\n    doc.loc.source = {\"body\":\"#import \\\"../prompt/promptFragment.gql\\\"\\n\\nmutation taskRestoreParameters ($id: ID!) {\\n  taskRestoreParameters (id: $id) {\\n    ...prompt\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskRestoreParameters\"] = oneQuery(doc, \"taskRestoreParameters\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":126}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginInstallationFragment.gql\\\"\\n\\nquery pluginInstallation {\\n  pluginInstallation {\\n    ...pluginInstallation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginInstallationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginInstallation\"] = oneQuery(doc, \"pluginInstallation\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":106}};\n    doc.loc.source = {\"body\":\"#import \\\"./folderCurrentFragment.gql\\\"\\n\\nquery folderCurrent {\\n  folderCurrent {\\n    ...folderCurrent\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./folderCurrentFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"folderCurrent\"] = oneQuery(doc, \"folderCurrent\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLog\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"TaskLog\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"text\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":55}};\n    doc.loc.source = {\"body\":\"fragment taskLog on TaskLog {\\n  taskId\\n  type\\n  text\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorer.vue?vue&type=style&index=0&id=4b6e946a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorer.vue?vue&type=style&index=0&id=4b6e946a&lang=stylus&scoped=true&\"","var render, staticRenderFns\nimport script from \"./ListFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./ListFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\nexport default {\n  functional: true,\n\n  render (h, { props, data }) {\n    return h('div', data.scopedSlots.default({ list: props.list.filter(props.filter) }))\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListFilter.vue?vue&type=script&lang=js&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Project\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"homepage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"openDate\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":91}};\n    doc.loc.source = {\"body\":\"fragment project on Project {\\n  id\\n  name\\n  type\\n  path\\n  favorite\\n  homepage\\n  openDate\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginAddLocal.vue?vue&type=style&index=0&id=eadd60ec&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginAddLocal.vue?vue&type=style&index=0&id=eadd60ec&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-configurations page\"},[_c('ContentView',{staticClass:\"limit-width\",attrs:{\"title\":_vm.$t('org.vue.views.project-configurations.title')}},[_c('ApolloQuery',{staticClass:\"fill-height\",attrs:{\"query\":require('@/graphql/configuration/configurations.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar ref_result = ref.result;\nvar data = ref_result.data;\nvar loading = ref_result.loading;\nreturn [(loading && (!data || !data.configurations))?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):(data)?_c('NavContent',{staticClass:\"configurations\",attrs:{\"items\":_vm.generateItems(data.configurations)},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nvar selected = ref.selected;\nreturn _c('ConfigurationItem',{attrs:{\"configuration\":item.configuration,\"selected\":selected}})}}],null,true)},[_c('div',{staticClass:\"list-header\",attrs:{\"slot\":\"before\"},slot:\"before\"},[_c('VueInput',{staticClass:\"search round\",attrs:{\"icon-left\":\"search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)]):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-configurations page\">\n    <ContentView\n      :title=\"$t('org.vue.views.project-configurations.title')\"\n      class=\"limit-width\"\n    >\n      <ApolloQuery\n        :query=\"require('@/graphql/configuration/configurations.gql')\"\n        class=\"fill-height\"\n      >\n        <template slot-scope=\"{ result: { data, loading } }\">\n          <VueLoadingIndicator\n            v-if=\"loading && (!data || !data.configurations)\"\n            class=\"overlay\"\n          />\n\n          <NavContent\n            v-else-if=\"data\"\n            :items=\"generateItems(data.configurations)\"\n            class=\"configurations\"\n          >\n            <div\n              slot=\"before\"\n              class=\"list-header\"\n            >\n              <VueInput\n                v-model=\"search\"\n                icon-left=\"search\"\n                class=\"search round\"\n              />\n            </div>\n\n            <ConfigurationItem\n              slot-scope=\"{ item, selected }\"\n              :configuration=\"item.configuration\"\n              :selected=\"selected\"\n            />\n          </NavContent>\n        </template>\n      </ApolloQuery>\n    </ContentView>\n  </div>\n</template>\n\n<script>\nimport RestoreRoute from '@/mixins/RestoreRoute'\nimport { generateSearchRegex } from '@/util/search'\n\nimport CONFIGS from '@/graphql/configuration/configurations.gql'\n\nexport default {\n  mixins: [\n    RestoreRoute({\n      baseRoute: { name: 'project-configurations' }\n    })\n  ],\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-configurations.title')\n    }\n  },\n\n  data () {\n    return {\n      search: ''\n    }\n  },\n\n  bus: {\n    quickOpenProject (project) {\n      this.$apollo.getClient().writeQuery({\n        query: CONFIGS,\n        data: {\n          configurations: null\n        }\n      })\n    }\n  },\n\n  methods: {\n    generateItems (configurations) {\n      if (!configurations) return []\n\n      const reg = generateSearchRegex(this.search)\n      return configurations.filter(\n        item => !reg || item.name.match(reg) || item.description.match(reg)\n      ).map(\n        configuration => ({\n          route: {\n            name: 'project-configuration-details',\n            params: {\n              id: configuration.id\n            }\n          },\n          configuration\n        })\n      )\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-configurations\n  .content-view /deep/ > .content\n    overflow-y hidden\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectConfigurations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectConfigurations.vue?vue&type=template&id=0e341be2&scoped=true&\"\nimport script from \"./ProjectConfigurations.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectConfigurations.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectConfigurations.vue?vue&type=style&index=0&id=0e341be2&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0e341be2\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"darkModeSet\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"darkModeSet\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":87}};\n    doc.loc.source = {\"body\":\"mutation darkModeSet($enabled: Boolean!) {\\n  darkModeSet (enabled: $enabled) @client\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"darkModeSet\"] = oneQuery(doc, \"darkModeSet\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"viewAdded\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewAdded\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"view\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":87}};\n    doc.loc.source = {\"body\":\"#import \\\"./viewFragment.gql\\\"\\n\\nsubscription viewAdded {\\n  viewAdded {\\n    ...view\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./viewFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"viewAdded\"] = oneQuery(doc, \"viewAdded\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginDetails\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"pluginDetails\"},\"name\":{\"kind\":\"Name\",\"value\":\"plugin\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":177}};\n    doc.loc.source = {\"body\":\"#import \\\"../version/versionFragment.gql\\\"\\n\\nquery pluginDetails ($id: ID!) {\\n  pluginDetails: plugin (id: $id) {\\n    id\\n    version {\\n      ...version\\n    }\\n    description\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../version/versionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginDetails\"] = oneQuery(doc, \"pluginDetails\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tasks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":151}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectFragment.gql\\\"\\n#import \\\"../task/taskFragment.gql\\\"\\n\\nquery projects {\\n  projects {\\n    ...project\\n    tasks {\\n      ...task\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectFragment.gql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../task/taskFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projects\"] = oneQuery(doc, \"projects\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageSearchItem.vue?vue&type=style&index=0&id=40f3faa6&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageSearchItem.vue?vue&type=style&index=0&id=40f3faa6&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TaskItem.vue?vue&type=style&index=0&id=7f8de00b&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TaskItem.vue?vue&type=style&index=0&id=7f8de00b&lang=stylus&scoped=true&\"","var map = {\n\t\"./Prompt.vue\": \"5c0d\",\n\t\"./PromptCheckbox.vue\": \"50c1\",\n\t\"./PromptColor.vue\": \"744c\",\n\t\"./PromptConfirm.vue\": \"2674\",\n\t\"./PromptEditor.vue\": \"fb10\",\n\t\"./PromptError.vue\": \"ca27\",\n\t\"./PromptInput.vue\": \"d2c1\",\n\t\"./PromptList.vue\": \"a667\",\n\t\"./PromptsList.vue\": \"b338\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"91aa\";","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport deepmerge from 'deepmerge'\nimport VueTimeago, { createTimeago } from 'vue-timeago'\n\nVue.use(VueI18n)\n\nVue.use(VueTimeago, {\n  name: 'VueTimeago',\n  locale: 'en'\n})\n\nfunction detectLanguage () {\n  try {\n    const lang = (window.navigator.languages && window.navigator.languages[0]) ||\n      window.navigator.language ||\n      window.navigator.userLanguage\n    return [lang, lang.toLowerCase(), lang.substr(0, 2)].map(lang => lang.replace('-', '_'))\n  } catch (e) {\n    return undefined\n  }\n}\n\nasync function autoInstallLocale (lang) {\n  try {\n    const response = await fetch(`https://unpkg.com/vue-cli-locales/locales/${lang}.json`)\n    if (response.ok) {\n      const data = await response.json()\n      mergeLocale(lang, data)\n      return true\n    }\n  } catch (e) {}\n  return false\n}\n\nasync function autoDetect () {\n  const codes = detectLanguage()\n  if (codes && codes[0].indexOf('en') === -1) {\n    let ok = false\n    let previousCode\n    for (const code of codes) {\n      if (code === previousCode) continue\n      previousCode = code\n      ok = await tryAutoLang(code)\n      if (ok) break\n    }\n\n    if (!ok) {\n      console.log(`[UI] No locale data was found for your locale ${codes[0]}.`)\n    }\n\n    const dateFnsLocale = i18n.locale.toLowerCase().replace(/-/g, '_')\n    Vue.component('VueTimeago', createTimeago({\n      name: 'VueTimeago',\n      locale: i18n.locale,\n      locales: {\n        [i18n.locale]: require(`date-fns/locale/${dateFnsLocale}/index.js`)\n      }\n    }))\n  }\n}\n\nasync function tryAutoLang (lang) {\n  console.log(`[UI] Trying to load ${lang} locale...`)\n  const result = await autoInstallLocale(lang)\n  if (result) {\n    i18n.locale = lang\n    // eslint-disable-next-line no-console\n    console.log(`[UI] Automatically loaded ${lang} locale `)\n  }\n  return result\n}\n\nconst i18n = new VueI18n({\n  locale: 'en',\n  fallbackLocale: 'en',\n  messages: {\n    en: {}\n  },\n  silentTranslationWarn: process.env.NODE_ENV !== 'production'\n})\n\nautoDetect()\n\nexport function mergeLocale (lang, messages) {\n  const newData = deepmerge(i18n.getLocaleMessage(lang), messages)\n  i18n.setLocaleMessage(lang, newData)\n}\n\nexport default i18n\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffView.vue?vue&type=style&index=0&id=e6aca748&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffView.vue?vue&type=style&index=0&id=e6aca748&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewBadge.vue?vue&type=style&index=0&id=3c51b48c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewBadge.vue?vue&type=style&index=0&id=3c51b48c&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectOpen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectOpen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":113}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectFragment.gql\\\"\\n\\nmutation projectOpen ($id: ID!) {\\n  projectOpen(id: $id) {\\n    ...project\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectOpen\"] = oneQuery(doc, \"projectOpen\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionResult\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PluginActionResult\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"results\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":87}};\n    doc.loc.source = {\"body\":\"fragment pluginActionResult on PluginActionResult {\\n  id\\n  params\\n  results\\n  errors\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logger-view\"},[_c('div',{staticClass:\"pane-toolbar\"},[_c('VueIcon',{attrs:{\"icon\":\"dvr\"}}),_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.logger-view.title'))+\" \")]),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.logger-view.buttons.clear')),expression:\"$t('org.vue.components.logger-view.buttons.clear')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"delete_forever\"},on:{\"click\":function($event){return _vm.clearLogs()}}}),_c('VueIcon',{staticClass:\"separator\",attrs:{\"icon\":\"lens\"}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.logger-view.buttons.scroll')),expression:\"$t('org.vue.components.logger-view.buttons.scroll')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"subdirectory_arrow_left\"},on:{\"click\":function($event){return _vm.scrollToBottom()}}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.logger-view.buttons.close')),expression:\"$t('org.vue.components.logger-view.buttons.close')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"close\"},on:{\"click\":function($event){return _vm.close()}}})],1),_c('ApolloQuery',{ref:\"logs\",staticClass:\"logs\",attrs:{\"query\":require('@/graphql/console-log/consoleLogs.gql')},on:{\"result\":function($event){return _vm.scrollToBottom()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar data = ref.result.data;\nreturn [(data && data.consoleLogs)?[_vm._l((data.consoleLogs),function(log){return _c('LoggerMessage',{key:log.id,attrs:{\"message\":log,\"pre\":\"\"}})}),(!data.consoleLogs.length)?_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"large\",attrs:{\"icon\":\"wifi\"}}),_c('div',[_vm._v(_vm._s(_vm.$t('org.vue.components.logger-view.empty')))])],1):_vm._e()]:_vm._e()]}}])},[_c('ApolloSubscribeToMore',{attrs:{\"document\":require('@/graphql/console-log/consoleLogAdded.gql'),\"update-query\":_vm.onConsoleLogAdded}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"logger-view\">\n    <div class=\"pane-toolbar\">\n      <VueIcon\n        icon=\"dvr\"\n      />\n      <div class=\"title\">\n        {{ $t('org.vue.components.logger-view.title') }}\n      </div>\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"delete_forever\"\n        v-tooltip=\"$t('org.vue.components.logger-view.buttons.clear')\"\n        @click=\"clearLogs()\"\n      />\n      <VueIcon\n        icon=\"lens\"\n        class=\"separator\"\n      />\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"subdirectory_arrow_left\"\n        v-tooltip=\"$t('org.vue.components.logger-view.buttons.scroll')\"\n        @click=\"scrollToBottom()\"\n      />\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"close\"\n        v-tooltip=\"$t('org.vue.components.logger-view.buttons.close')\"\n        @click=\"close()\"\n      />\n    </div>\n    <ApolloQuery\n      ref=\"logs\"\n      :query=\"require('@/graphql/console-log/consoleLogs.gql')\"\n      class=\"logs\"\n      @result=\"scrollToBottom()\"\n    >\n      <ApolloSubscribeToMore\n        :document=\"require('@/graphql/console-log/consoleLogAdded.gql')\"\n        :update-query=\"onConsoleLogAdded\"\n      />\n\n      <template slot-scope=\"{ result: { data } }\">\n        <template v-if=\"data && data.consoleLogs\">\n          <LoggerMessage\n            v-for=\"log of data.consoleLogs\"\n            :key=\"log.id\"\n            :message=\"log\"\n            pre\n          />\n\n          <div\n            v-if=\"!data.consoleLogs.length\"\n            class=\"vue-ui-empty\"\n          >\n            <VueIcon icon=\"wifi\" class=\"large\"/>\n            <div>{{ $t('org.vue.components.logger-view.empty') }}</div>\n          </div>\n        </template>\n      </template>\n    </ApolloQuery>\n  </div>\n</template>\n\n<script>\nimport CONSOLE_LOGS from '@/graphql/console-log/consoleLogs.gql'\nimport CONSOLE_LOG_LAST from '@/graphql/console-log/consoleLogLast.gql'\nimport CONSOLE_LOGS_CLEAR from '@/graphql/console-log/consoleLogsClear.gql'\n\nexport default {\n  methods: {\n    onConsoleLogAdded (previousResult, { subscriptionData }) {\n      this.scrollToBottom()\n      return {\n        consoleLogs: [\n          ...previousResult.consoleLogs,\n          subscriptionData.data.consoleLogAdded\n        ]\n      }\n    },\n\n    async scrollToBottom () {\n      await this.$nextTick()\n      const list = this.$refs.logs.$el\n      list.scrollTop = list.scrollHeight\n    },\n\n    async clearLogs () {\n      await this.$apollo.mutate({\n        mutation: CONSOLE_LOGS_CLEAR,\n        update: store => {\n          store.writeQuery({\n            query: CONSOLE_LOGS,\n            data: { consoleLogs: [] }\n          })\n          store.writeQuery({\n            query: CONSOLE_LOG_LAST,\n            data: { consoleLogLast: null }\n          })\n        }\n      })\n      this.close()\n    },\n\n    close () {\n      this.$emit('close')\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.logger-view\n  background $vue-ui-color-light\n  height 174px\n  display grid\n  grid-template-columns 1fr\n  grid-template-rows auto 1fr\n  grid-template-areas \"toolbar\" \"logs\"\n  .vue-ui-dark-mode &\n    background $vue-ui-color-darker\n\n  .pane-toolbar\n    grid-area toolbar\n\n  .logs\n    grid-area logs\n    padding 0 $padding-item\n    overflow-x hidden\n    overflow-y auto\n\n  .logger-message\n    font-size 12px\n    &:hover\n      background rgba($vue-ui-color-primary, .05)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoggerView.vue?vue&type=template&id=7cd2133d&scoped=true&\"\nimport script from \"./LoggerView.vue?vue&type=script&lang=js&\"\nexport * from \"./LoggerView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoggerView.vue?vue&type=style&index=0&id=7cd2133d&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7cd2133d\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"loading\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loading\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":36}};\n    doc.loc.source = {\"body\":\"query loading {\\n  loading @client\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"loading\"] = oneQuery(doc, \"loading\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"folderOpen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"folderOpen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":133}};\n    doc.loc.source = {\"body\":\"#import \\\"./folderCurrentFragment.gql\\\"\\n\\nmutation folderOpen ($path: String!) {\\n  folderOpen(path: $path) {\\n    ...folderCurrent\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./folderCurrentFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"folderOpen\"] = oneQuery(doc, \"folderOpen\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencies.vue?vue&type=style&index=0&id=40a4792a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencies.vue?vue&type=style&index=0&id=40a4792a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogsClear\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogsClear\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLog\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":109}};\n    doc.loc.source = {\"body\":\"#import \\\"./consoleLogFragment.gql\\\"\\n\\nmutation consoleLogsClear {\\n  consoleLogsClear {\\n    ...consoleLog\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./consoleLogFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"consoleLogsClear\"] = oneQuery(doc, \"consoleLogsClear\");\n        \n","export function getImageUrl (url) {\n  // Fix images in development\n  if (process.env.VUE_APP_CLI_UI_DEV && url.charAt(0) === '/') {\n    return `http://localhost:${process.env.VUE_APP_GRAPHQL_PORT}${url}`\n  }\n  return url\n}\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLogs\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"taskLogs\"},\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"taskLog\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":136}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskLogFragment.gql\\\"\\n\\nquery taskLogs ($id: ID!) {\\n  taskLogs: task(id: $id) {\\n    id\\n    logs {\\n      ...taskLog\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskLogFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskLogs\"] = oneQuery(doc, \"taskLogs\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"widget-add-item list-item\"},[_c('div',{staticClass:\"info\",on:{\"click\":function($event){_vm.showDetails = true}}},[_c('ItemLogo',{attrs:{\"image\":_vm.definition.icon,\"fallback-icon\":\"widgets\"}}),_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.definition.title),\"description\":_vm.$t(_vm.definition.description),\"link\":_vm.definition.link}})],1),_c('div',{staticClass:\"actions\"},[_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.widget-add-item.add')),expression:\"$t('org.vue.components.widget-add-item.add')\"}],staticClass:\"primary icon-button\",attrs:{\"icon-left\":\"add\"},on:{\"click\":function($event){return _vm.add()}}})],1),(_vm.showDetails)?_c('VueModal',{staticClass:\"medium\",attrs:{\"title\":_vm.$t('org.vue.components.widget-add-item.details.title')},on:{\"close\":function($event){_vm.showDetails = false}}},[_c('div',{staticClass:\"custom-body\"},[_c('div',{staticClass:\"details\"},[_c('ItemLogo',{attrs:{\"image\":_vm.definition.icon,\"fallback-icon\":\"widgets\"}}),_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.definition.title),\"description\":_vm.$t(_vm.definition.description)}})],1),(_vm.definition.longDescription)?_c('div',{staticClass:\"details\"},[_c('div',{staticClass:\"description\",domProps:{\"innerHTML\":_vm._s(_vm.$t(_vm.definition.longDescription))}})]):_vm._e(),_c('div',{staticClass:\"instances\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.widget-add-item.details.max-instances', { count: _vm.definition.count, total: _vm.definition.maxCount == null ? _vm.$t('org.vue.components.widget-add-item.details.unlimited') : _vm.definition.maxCount }))+\" \")])]),_c('div',{staticClass:\"actions\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.definition.link)?_c('VueButton',{staticClass:\"flat\",attrs:{\"href\":_vm.definition.link,\"label\":_vm.$t('org.vue.common.more-info'),\"target\":\"_blank\",\"icon-right\":\"open_in_new\"}}):_vm._e(),_c('VueButton',{staticClass:\"primary\",attrs:{\"label\":_vm.$t('org.vue.components.widget-add-item.add'),\"icon-left\":\"add\"},on:{\"click\":function($event){return _vm.add()}}})],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"widget-add-item list-item\">\n    <div\n      class=\"info\"\n      @click=\"showDetails = true\"\n    >\n      <ItemLogo\n        :image=\"definition.icon\"\n        fallback-icon=\"widgets\"\n      />\n      <ListItemInfo\n        :name=\"$t(definition.title)\"\n        :description=\"$t(definition.description)\"\n        :link=\"definition.link\"\n      />\n    </div>\n\n    <div class=\"actions\">\n      <VueButton\n        class=\"primary icon-button\"\n        v-tooltip=\"$t('org.vue.components.widget-add-item.add')\"\n        icon-left=\"add\"\n        @click=\"add()\"\n      />\n    </div>\n\n    <VueModal\n      v-if=\"showDetails\"\n      :title=\"$t('org.vue.components.widget-add-item.details.title')\"\n      class=\"medium\"\n      @close=\"showDetails = false\"\n    >\n      <div class=\"custom-body\">\n        <div class=\"details\">\n          <ItemLogo\n            :image=\"definition.icon\"\n            fallback-icon=\"widgets\"\n          />\n          <ListItemInfo\n            :name=\"$t(definition.title)\"\n            :description=\"$t(definition.description)\"\n          />\n        </div>\n\n        <div v-if=\"definition.longDescription\" class=\"details\">\n          <div\n            class=\"description\"\n            v-html=\"$t(definition.longDescription)\"\n          />\n        </div>\n\n        <div class=\"instances\">\n          {{ $t('org.vue.components.widget-add-item.details.max-instances', {\n            count: definition.count,\n            total: definition.maxCount == null ? $t('org.vue.components.widget-add-item.details.unlimited') : definition.maxCount\n          }) }}\n        </div>\n      </div>\n\n      <div slot=\"footer\" class=\"actions\">\n        <VueButton\n          v-if=\"definition.link\"\n          :href=\"definition.link\"\n          :label=\"$t('org.vue.common.more-info')\"\n          target=\"_blank\"\n          class=\"flat\"\n          icon-right=\"open_in_new\"\n        />\n\n        <VueButton\n          class=\"primary\"\n          :label=\"$t('org.vue.components.widget-add-item.add')\"\n          icon-left=\"add\"\n          @click=\"add()\"\n        />\n      </div>\n    </VueModal>\n  </div>\n</template>\n\n<script>\nimport WIDGET_ADD from '@/graphql/widget/widgetAdd.gql'\nimport WIDGETS from '@/graphql/widget/widgets.gql'\nimport WIDGET_DEFINITION_FRAGMENT from '@/graphql/widget/widgetDefinitionFragment.gql'\n\nexport default {\n  props: {\n    definition: {\n      type: Object,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      showDetails: false\n    }\n  },\n\n  methods: {\n    add () {\n      this.showDetails = false\n      this.$apollo.mutate({\n        mutation: WIDGET_ADD,\n        variables: {\n          input: {\n            definitionId: this.definition.id\n          }\n        },\n        update: (store, { data: { widgetAdd } }) => {\n          let data = store.readQuery({ query: WIDGETS })\n          // TODO this is a workaround\n          // See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473\n          data = {\n            widgets: [...data.widgets, widgetAdd]\n          }\n          store.writeQuery({ query: WIDGETS, data })\n          store.writeFragment({\n            fragment: WIDGET_DEFINITION_FRAGMENT,\n            id: widgetAdd.definition.id,\n            data: widgetAdd.definition\n          })\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.widget-add-item\n  .actions\n    margin-right $padding-item\n\n  &,\n  .actions\n    h-box()\n    box-center()\n\n  .info\n    flex 1\n    overflow hidden\n    padding $padding-item\n    h-box()\n\n    .list-item-info\n      flex 1\n      overflow hidden\n\n      >>> .description\n        flex 1\n        ellipsis()\n\n// Modal\n\n.custom-body\n  padding 0 24px $padding-item\n\n  .details\n    display flex\n    margin-bottom $padding-item\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAddItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetAddItem.vue?vue&type=template&id=4fd981a4&scoped=true&\"\nimport script from \"./WidgetAddItem.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetAddItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetAddItem.vue?vue&type=style&index=0&id=4fd981a4&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4fd981a4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-nav-more\"},[_c('VueDropdown',{attrs:{\"placement\":\"right-end\"}},[_c('VueButton',{staticClass:\"big flat\",class:{\n        'icon-button': !_vm.$responsive.wide\n      },attrs:{\"slot\":\"trigger\",\"icon-left\":\"more_horiz\"},slot:\"trigger\"},[(_vm.$responsive.wide)?_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-nav.tooltips.more')))]):_vm._e()]),_c('VueDropdownButton',{attrs:{\"icon-left\":\"home\",\"to\":{ name: 'project-select' },\"label\":_vm.$t('org.vue.views.project-select.title')}}),_c('VueDropdownButton',{attrs:{\"icon-left\":\"info\",\"to\":{ name: 'about' },\"label\":_vm.$t('org.vue.views.about.title')}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ViewNavMore.vue?vue&type=template&id=2251f1b8&scoped=true&\"\nvar script = {}\nimport style0 from \"./ViewNavMore.vue?vue&type=style&index=0&id=2251f1b8&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2251f1b8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-select-list-item list-item\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"favorite\"},[_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-select-list-item.tooltips.favorite')),expression:\"$t('org.vue.components.project-select-list-item.tooltips.favorite')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":_vm.project.favorite ? 'star' : 'star_border',\"data-testid\":\"favorite-button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('favorite')}}})],1),_c('div',{staticClass:\"info\"},[_c('ListItemInfo',{attrs:{\"description\":_vm.project.path}},[_c('div',{staticClass:\"name\",attrs:{\"slot\":\"name\"},slot:\"name\"},[_c('span',[_vm._v(_vm._s(_vm.project.name))]),_c('ProjectTasksDropdown',{staticClass:\"bullet-menu\",attrs:{\"tasks\":_vm.project.tasks}})],1)])],1),_c('div',{staticClass:\"actions\"},[_c('VueButton',{attrs:{\"icon-left\":\"open_in_browser\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.openInEditor()}}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.project-select-list-item.tooltips.open-in-editor'))+\" \")]),(_vm.project.homepage)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.top-bar.homepage')),expression:\"$t('org.vue.components.top-bar.homepage')\"}],staticClass:\"icon-button\",attrs:{\"href\":_vm.project.homepage,\"target\":\"_blank\",\"icon-left\":\"open_in_new\"},on:{\"click\":function($event){$event.stopPropagation();}}}):_vm._e(),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-rename.title')),expression:\"$t('org.vue.components.project-rename.title')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"edit\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showRename = true}}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-select-list-item.tooltips.delete')),expression:\"$t('org.vue.components.project-select-list-item.tooltips.delete')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"close\",\"data-testid\":\"delete-button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('remove')}}})],1)]),(_vm.showRename)?_c('ProjectRename',{attrs:{\"project\":_vm.project},on:{\"close\":function($event){_vm.showRename = false}},nativeOn:{\"click\":function($event){$event.stopPropagation();}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-select-list-item list-item\">\n    <div class=\"content\">\n      <div class=\"favorite\">\n        <VueButton\n          class=\"icon-button\"\n          :icon-left=\"project.favorite ? 'star' : 'star_border'\"\n          v-tooltip=\"$t('org.vue.components.project-select-list-item.tooltips.favorite')\"\n          data-testid=\"favorite-button\"\n          @click.stop=\"$emit('favorite')\"\n        />\n      </div>\n\n      <div class=\"info\">\n        <ListItemInfo\n          :description=\"project.path\"\n        >\n          <div slot=\"name\" class=\"name\">\n            <span>{{ project.name }}</span>\n\n            <ProjectTasksDropdown\n              class=\"bullet-menu\"\n              :tasks=\"project.tasks\"\n            />\n          </div>\n        </ListItemInfo>\n      </div>\n\n      <div class=\"actions\">\n        <VueButton\n          icon-left=\"open_in_browser\"\n          @click.stop=\"openInEditor()\"\n        >\n          {{ $t('org.vue.components.project-select-list-item.tooltips.open-in-editor') }}\n        </VueButton>\n\n        <VueButton\n          v-if=\"project.homepage\"\n          :href=\"project.homepage\"\n          target=\"_blank\"\n          class=\"icon-button\"\n          icon-left=\"open_in_new\"\n          v-tooltip=\"$t('org.vue.components.top-bar.homepage')\"\n          @click.stop\n        />\n\n        <VueButton\n          class=\"icon-button\"\n          icon-left=\"edit\"\n          v-tooltip=\"$t('org.vue.components.project-rename.title')\"\n          @click.stop=\"showRename = true\"\n        />\n\n        <VueButton\n          class=\"icon-button\"\n          icon-left=\"close\"\n          v-tooltip=\"$t('org.vue.components.project-select-list-item.tooltips.delete')\"\n          data-testid=\"delete-button\"\n          @click.stop=\"$emit('remove')\"\n        />\n      </div>\n    </div>\n\n    <ProjectRename\n      v-if=\"showRename\"\n      :project=\"project\"\n      @close=\"showRename = false\"\n      @click.native.stop\n    />\n  </div>\n</template>\n\n<script>\nimport OPEN_IN_EDITOR from '@/graphql/file/fileOpenInEditor.gql'\n\nimport ProjectRename from './ProjectRename.vue'\n\nexport default {\n  components: {\n    ProjectRename\n  },\n\n  props: {\n    project: {\n      type: Object,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      showRename: false\n    }\n  },\n\n  methods: {\n    async openInEditor () {\n      await this.$apollo.mutate({\n        mutation: OPEN_IN_EDITOR,\n        variables: {\n          input: {\n            file: this.project.path\n          }\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.content\n  padding $padding-item\n  display grid\n  grid-template-columns auto 1fr auto\n  grid-template-rows auto\n  grid-template-areas \"icon info actions\"\n  grid-gap $padding-item\n\n.favorite\n  grid-area icon\n  h-box()\n  box-center()\n\n.info\n  grid-area info\n\n.actions\n  grid-area actions\n  h-box()\n  align-items center\n\n  >>> > *\n    space-between-x($padding-item)\n\n.name\n  h-box()\n  align-items center\n\n.bullet-menu\n  margin-left 6px\n\n.project-select-list-item\n  &.open\n    &:not(:hover)\n      background rgba($vue-ui-color-primary, .05)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectSelectListItem.vue?vue&type=template&id=1bbc1c3c&scoped=true&\"\nimport script from \"./ProjectSelectListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectSelectListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectSelectListItem.vue?vue&type=style&index=0&id=1bbc1c3c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1bbc1c3c\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginUninstall\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginUninstall\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":144}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginInstallationFragment.gql\\\"\\n\\nmutation pluginUninstall ($id: ID!) {\\n  pluginUninstall (id: $id) {\\n    ...pluginInstallation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginInstallationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginUninstall\"] = oneQuery(doc, \"pluginUninstall\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionResolved\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionResolved\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionResult\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":137}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginActionResultFragment.gql\\\"\\n\\nsubscription pluginActionResolved {\\n  pluginActionResolved {\\n    ...pluginActionResult\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginActionResultFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginActionResolved\"] = oneQuery(doc, \"pluginActionResolved\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"view\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"View\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tooltip\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"badges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"priority\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hidden\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectTypes\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":145}};\n    doc.loc.source = {\"body\":\"fragment view on View {\\n  id\\n  name\\n  icon\\n  tooltip\\n  badges {\\n    id\\n    type\\n    count\\n    label\\n    priority\\n    hidden\\n  }\\n  projectTypes\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"promptAnswer\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PromptInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"promptAnswer\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":131}};\n    doc.loc.source = {\"body\":\"#import \\\"./promptFragment.gql\\\"\\n\\nmutation promptAnswer ($input: PromptInput!) {\\n  promptAnswer(input: $input) {\\n    ...prompt\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./promptFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"promptAnswer\"] = oneQuery(doc, \"promptAnswer\");\n        \n","export function generateSearchRegex (text) {\n  return text && new RegExp(text.trim().replace(/\\s+/g, '.{0,5}'), 'i')\n}\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginActionCall\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PluginActionCall\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":64}};\n    doc.loc.source = {\"body\":\"fragment pluginActionCall on PluginActionCall {\\n  id\\n  params\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=style&index=0&id=4d96c5e7&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=style&index=0&id=4d96c5e7&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionRemoved\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionRemoved\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestion\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":114}};\n    doc.loc.source = {\"body\":\"#import \\\"./suggestionFragment.gql\\\"\\n\\nsubscription suggestionRemoved {\\n  suggestionRemoved {\\n    ...suggestion\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./suggestionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"suggestionRemoved\"] = oneQuery(doc, \"suggestionRemoved\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"cwd\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cwd\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":20}};\n    doc.loc.source = {\"body\":\"query cwd {\\n  cwd\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"cwd\"] = oneQuery(doc, \"cwd\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientAddonComponent.vue?vue&type=style&index=0&id=2b95752e&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientAddonComponent.vue?vue&type=style&index=0&id=2b95752e&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"step-wizard\",class:{\n    'hide-tabs': _vm.hideTabs\n  }},[_c('div',{staticClass:\"shell\"},[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"content\"},[(_vm.title)?_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]):_vm._e()])]),_c('VueTabs',_vm._g(_vm._b({ref:\"tabs\",staticClass:\"main-tabs\",attrs:{\"group-class\":\"accent\"}},'VueTabs',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\",null,{\"next\":_vm.next,\"previous\":_vm.previous})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"step-wizard\"\n    :class=\"{\n      'hide-tabs': hideTabs\n    }\"\n  >\n    <div class=\"shell\">\n      <div class=\"header\">\n        <div class=\"content\">\n          <div v-if=\"title\" class=\"title\">{{ title }}</div>\n        </div>\n      </div>\n\n      <VueTabs\n        ref=\"tabs\"\n        class=\"main-tabs\"\n        group-class=\"accent\"\n        v-bind=\"$attrs\"\n        v-on=\"$listeners\"\n      >\n        <slot\n          :next=\"next\"\n          :previous=\"previous\"\n        />\n      </VueTabs>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  inheritAttrs: false,\n\n  props: {\n    hideTabs: {\n      type: Boolean,\n      default: false\n    },\n\n    title: {\n      type: String,\n      default: null\n    }\n  },\n\n  methods: {\n    next () {\n      const tabs = this.$refs.tabs\n      tabs.activateChild(tabs.activeChildIndex + 1)\n    },\n    previous () {\n      const tabs = this.$refs.tabs\n      tabs.activateChild(tabs.activeChildIndex - 1)\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.step-wizard\n  box-sizing border-box\n\n  .shell\n    v-box()\n    height 100%\n\n  .header\n    .content\n      margin 0 auto\n\n  .main-tabs\n    height 0\n    flex auto 1 1\n\n  >>> .vue-ui-tab\n    margin 0 auto\n    padding $padding-item $padding-item 0\n    box-sizing border-box\n\n  .header,\n  >>> .tabs\n    background $content-bg-primary-light\n    .vue-ui-dark-mode &\n      background $content-bg-primary-dark\n\n  >>> .tabs-content\n    height 0\n    flex auto 1 1\n\n  &,\n  >>> .vue-ui-tab,\n  >>> .vue-ui-tab-content\n    height 100%\n\n  >>> .vue-ui-tab-content\n    overflow-y hidden\n    v-box()\n    margin 0 auto\n\n    > .content\n      flex 100% 1 1\n      height 0\n      overflow-y auto\n\n    > .actions-bar\n      justify-content center\n      .vue-ui-button:not(.icon-button)\n        min-width 190px\n\n  .title\n    padding $padding-item\n    font-size 24px\n    text-align center\n    font-weight 300\n\n  &.hide-tabs\n    >>> .tabs\n      display none\n\n  &.frame\n    margin 0 auto\n    $max-width = 1200px\n    .shell\n      background $md-white\n      .vue-ui-dark-mode &\n        background $vue-ui-color-darker\n    .header .content,\n    >>> .vue-ui-tab\n      max-width $max-width\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepWizard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepWizard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StepWizard.vue?vue&type=template&id=4f685358&scoped=true&\"\nimport script from \"./StepWizard.vue?vue&type=script&lang=js&\"\nexport * from \"./StepWizard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StepWizard.vue?vue&type=style&index=0&id=4f685358&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4f685358\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-create page\"},[_c('div',{staticClass:\"content\"},[_c('StepWizard',{staticClass:\"frame\",attrs:{\"title\":_vm.$t('org.vue.views.project-create.title')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar next = ref.next;\nvar previous = ref.previous;\nreturn [_c('VueTab',{staticClass:\"details\",attrs:{\"id\":\"details\",\"label\":_vm.$t('org.vue.views.project-create.tabs.details.title'),\"icon\":\"subject\"}},[_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('div',{staticClass:\"project-details vue-ui-grid col-1\"},[_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.details.form.folder.label')}},[_c('VueInput',{staticClass:\"big app-name\",attrs:{\"placeholder\":_vm.$t('org.vue.views.project-create.tabs.details.form.folder.placeholder'),\"icon-left\":\"folder\"},model:{value:(_vm.formData.folder),callback:function ($$v) {_vm.$set(_vm.formData, \"folder\", $$v)},expression:\"formData.folder\"}}),_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('div',{staticClass:\"project-path\"},[_c('div',{staticClass:\"path\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.cwd),expression:\"cwd\"}],staticClass:\"cwd\"},[_vm._v(\" \"+_vm._s(_vm._f(\"folder\")(_vm.cwd,42 - _vm.formData.folder.length))+\" \")]),_c('span',{staticClass:\"folder\"},[_vm._v(_vm._s(_vm.formData.folder))])]),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.views.project-create.tabs.details.form.folder.tooltip')),expression:\"$t('org.vue.views.project-create.tabs.details.form.folder.tooltip')\"}],staticClass:\"icon-button change-folder\",attrs:{\"icon-left\":\"edit\",\"to\":{\n                        name: 'project-select',\n                        query: {\n                          tab: 'create',\n                          hideTabs: true\n                        }\n                      }}})],1),(_vm.formData.folder && !_vm.folderNameValid)?_c('div',{staticClass:\"vue-ui-text danger banner\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"error\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.views.project-create.tabs.details.form.folder.folder-name-invalid')))])],1):_vm._e(),(_vm.formData.folder)?_c('ApolloQuery',{attrs:{\"query\":require('@/graphql/folder/folderExists.gql'),\"variables\":{\n                      file: (_vm.cwd + \"/\" + (_vm.formData.folder))\n                    },\"fetch-policy\":\"no-cache\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n                    var data = ref.result.data;\nreturn (data && data.folderExists)?_c('div',{staticClass:\"vue-ui-text warning banner\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"warning\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.views.project-create.tabs.details.form.folder.folder-exists')))])],1):_vm._e()}}],null,true)}):_vm._e()],1)],1),_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.details.form.manager.label')}},[_c('VueSelect',{model:{value:(_vm.formData.packageManager),callback:function ($$v) {_vm.$set(_vm.formData, \"packageManager\", $$v)},expression:\"formData.packageManager\"}},[_c('VueSelectButton',{attrs:{\"value\":undefined,\"label\":_vm.$t('org.vue.views.project-create.tabs.details.form.manager.default')}}),_c('VueSelectButton',{attrs:{\"value\":\"npm\",\"label\":\"npm\"}}),_c('VueSelectButton',{attrs:{\"value\":\"yarn\",\"label\":\"yarn\"}}),_c('VueSelectButton',{attrs:{\"value\":\"pnpm\",\"label\":\"pnpm\"}})],1)],1),_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.details.form.options.label')}},[_c('VueSwitch',{staticClass:\"extend-left force\",model:{value:(_vm.formData.force),callback:function ($$v) {_vm.$set(_vm.formData, \"force\", $$v)},expression:\"formData.force\"}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.details.form.options.force'))+\" \")]),_c('VueSwitch',{staticClass:\"extend-left bare\",model:{value:(_vm.formData.bare),callback:function ($$v) {_vm.$set(_vm.formData, \"bare\", $$v)},expression:\"formData.bare\"}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.details.form.options.bare'))+\" \")])],1),_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.details.form.options.git-title')}},[_c('VueSwitch',{staticClass:\"extend-left git\",model:{value:(_vm.formData.enableGit),callback:function ($$v) {_vm.$set(_vm.formData, \"enableGit\", $$v)},expression:\"formData.enableGit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.details.form.options.git'))+\" \")]),_c('VueInput',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.formData.enableGit),expression:\"formData.enableGit\"}],attrs:{\"placeholder\":_vm.$t('org.vue.views.project-create.tabs.details.form.options.git-commit-message')},model:{value:(_vm.formData.gitCommitMessage),callback:function ($$v) {_vm.$set(_vm.formData, \"gitCommitMessage\", $$v)},expression:\"formData.gitCommitMessage\"}})],1)],1)]),_c('div',{staticClass:\"actions-bar\"},[_c('VueButton',{staticClass:\"big close\",attrs:{\"icon-left\":\"close\",\"label\":_vm.$t('org.vue.views.project-create.tabs.details.buttons.cancel')},on:{\"click\":function($event){_vm.showCancel = true}}}),_c('VueButton',{staticClass:\"big primary next\",attrs:{\"icon-right\":\"arrow_forward\",\"label\":_vm.$t('org.vue.views.project-create.tabs.details.buttons.next'),\"disabled\":!_vm.detailsValid},on:{\"click\":function($event){return next()}}})],1)]),_c('VueTab',{staticClass:\"presets\",attrs:{\"id\":\"presets\",\"label\":_vm.$t('org.vue.views.project-create.tabs.presets.title'),\"icon\":\"check_circle\",\"disabled\":!_vm.detailsValid,\"lazy\":\"\"}},[_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('div',{staticClass:\"vue-ui-text info banner\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"info\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.views.project-create.tabs.presets.description')))])],1),_c('div',{staticClass:\"cta-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.presets.select'))+\" \")]),(_vm.projectCreation)?_vm._l((_vm.projectCreation.presets),function(preset){return _c('ProjectPresetItem',{key:preset.id,attrs:{\"preset\":preset,\"selected\":_vm.formData.selectedPreset === preset.id},nativeOn:{\"click\":function($event){return _vm.selectPreset(preset.id)}}})}):_vm._e(),_c('ProjectPresetItem',{attrs:{\"preset\":_vm.remotePresetInfo,\"selected\":_vm.formData.selectedPreset === '__remote__',\"description\":_vm.formData.remotePreset.url},nativeOn:{\"click\":function($event){return _vm.selectPreset('__remote__')}}})],2),_c('div',{staticClass:\"actions-bar\"},[_c('VueButton',{staticClass:\"big previous\",attrs:{\"icon-left\":\"arrow_back\",\"label\":_vm.$t('org.vue.views.project-create.tabs.presets.buttons.previous')},on:{\"click\":function($event){return previous()}}}),(_vm.manual)?_c('VueButton',{staticClass:\"big primary next\",attrs:{\"icon-right\":\"arrow_forward\",\"label\":_vm.$t('org.vue.views.project-create.tabs.presets.buttons.next'),\"disabled\":!_vm.presetValid},on:{\"click\":function($event){return next()}}}):_c('VueButton',{staticClass:\"big primary next\",attrs:{\"icon-left\":\"done\",\"label\":_vm.$t('org.vue.views.project-create.tabs.presets.buttons.create'),\"disabled\":!_vm.formData.selectedPreset},on:{\"click\":function($event){return _vm.createWithoutSaving()}}})],1)]),_c('VueTab',{staticClass:\"features\",attrs:{\"id\":\"features\",\"label\":_vm.$t('org.vue.views.project-create.tabs.features.title'),\"icon\":\"device_hub\",\"disabled\":!_vm.detailsValid || !_vm.presetValid || !_vm.manual,\"lazy\":\"\"}},[_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('div',{staticClass:\"vue-ui-text info banner\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"info\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.views.project-create.tabs.features.description')))])],1),_c('div',{staticClass:\"cta-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.features.enable'))+\" \")]),(_vm.projectCreation)?_vm._l((_vm.projectCreation.features),function(feature){return _c('ProjectFeatureItem',{key:feature.id,attrs:{\"feature\":feature},nativeOn:{\"click\":function($event){return _vm.toggleFeature(feature)}}})}):_vm._e()],2),_c('div',{staticClass:\"actions-bar\"},[_c('VueButton',{staticClass:\"big previous\",attrs:{\"icon-left\":\"arrow_back\",\"label\":_vm.$t('org.vue.views.project-create.tabs.features.buttons.previous')},on:{\"click\":function($event){return previous()}}}),(_vm.visiblePrompts.length)?_c('VueButton',{staticClass:\"big primary next\",attrs:{\"icon-right\":\"arrow_forward\",\"label\":_vm.$t('org.vue.views.project-create.tabs.features.buttons.next')},on:{\"click\":function($event){return next()}}}):_c('VueButton',{staticClass:\"big primary next\",attrs:{\"icon-left\":\"done\",\"label\":_vm.$t('org.vue.views.project-create.tabs.features.buttons.create')},on:{\"click\":function($event){_vm.showSavePreset = true}}})],1)]),_c('VueTab',{staticClass:\"config\",attrs:{\"id\":\"config\",\"label\":_vm.$t('org.vue.views.project-create.tabs.configuration.title'),\"icon\":\"settings_applications\",\"disabled\":!_vm.detailsValid || !_vm.presetValid || !_vm.manual || !_vm.visiblePrompts.length,\"lazy\":\"\"}},[_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('PromptsList',{attrs:{\"prompts\":_vm.visiblePrompts},on:{\"answer\":_vm.answerPrompt}})],1),_c('div',{staticClass:\"actions-bar\"},[_c('VueButton',{staticClass:\"big previous\",attrs:{\"icon-left\":\"arrow_back\",\"label\":_vm.$t('org.vue.views.project-create.tabs.configuration.buttons.previous')},on:{\"click\":function($event){return previous()}}}),_c('VueButton',{staticClass:\"big primary next\",attrs:{\"icon-left\":\"done\",\"label\":_vm.$t('org.vue.views.project-create.tabs.configuration.buttons.create'),\"disabled\":!_vm.configurationValid},on:{\"click\":function($event){_vm.showSavePreset = true}}})],1)])]}}])})],1),(_vm.showRemotePreset)?_c('VueModal',{staticClass:\"small remove-preset-modal\",attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.presets.modal.title')},on:{\"close\":function($event){return _vm.closeRemotePresetModal()}}},[_c('div',{staticClass:\"default-body vue-ui-grid big-gap col-1\"},[_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.presets.remote.url.title'),\"subtitle\":_vm.$t('org.vue.views.project-create.tabs.presets.remote.url.subtitle')}},[_c('VueInput',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"icon-left\":\"language\"},model:{value:(_vm.formData.remotePreset.url),callback:function ($$v) {_vm.$set(_vm.formData.remotePreset, \"url\", $$v)},expression:\"formData.remotePreset.url\"}})],1),_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.presets.remote.options')}},[_c('VueSwitch',{staticClass:\"extend-left\",attrs:{\"disabled\":_vm.remoteNotGithub},model:{value:(_vm.formData.remotePreset.clone),callback:function ($$v) {_vm.$set(_vm.formData.remotePreset, \"clone\", $$v)},expression:\"formData.remotePreset.clone\"}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.presets.remote.clone'))+\" \")])],1)],1),_c('div',{staticClass:\"actions end\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat\",attrs:{\"label\":_vm.$t('org.vue.views.project-create.tabs.presets.remote.cancel')},on:{\"click\":function($event){return _vm.closeRemotePresetModal(true)}}}),_c('VueButton',{staticClass:\"primary\",attrs:{\"label\":_vm.$t('org.vue.views.project-create.tabs.presets.remote.done'),\"disabled\":!_vm.formData.remotePreset.url || !_vm.remotePresetValid,\"loading-secondary\":_vm.remotePresetValid === null,\"icon-left\":\"done\"},on:{\"click\":function($event){return _vm.closeRemotePresetModal()}}})],1)]):_vm._e(),(_vm.showCancel)?_c('VueModal',{staticClass:\"small\",attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.details.modal.title')},on:{\"close\":function($event){_vm.showCancel = false}}},[_c('div',{staticClass:\"default-body\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.views.project-create.tabs.details.modal.body'))+\" \")]),_c('div',{staticClass:\"actions end\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat\",attrs:{\"label\":_vm.$t('org.vue.views.project-create.tabs.details.modal.buttons.back')},on:{\"click\":function($event){_vm.showCancel = false}}}),_c('VueButton',{staticClass:\"danger\",attrs:{\"to\":{ name: 'project-select' },\"label\":_vm.$t('org.vue.views.project-create.tabs.details.modal.buttons.clear'),\"icon-left\":\"delete_forever\"}})],1)]):_vm._e(),(_vm.showSavePreset)?_c('VueModal',{staticClass:\"medium save-preset-modal\",attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.configuration.modal.title')},on:{\"close\":function($event){_vm.showSavePreset = false}}},[_c('div',{staticClass:\"default-body\"},[_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.views.project-create.tabs.configuration.modal.body.title'),\"subtitle\":_vm.$t('org.vue.views.project-create.tabs.configuration.modal.body.subtitle')}},[_c('VueInput',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"icon-left\":\"local_offer\"},model:{value:(_vm.formData.save),callback:function ($$v) {_vm.$set(_vm.formData, \"save\", $$v)},expression:\"formData.save\"}})],1)],1),_c('div',{staticClass:\"actions end\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat close\",attrs:{\"label\":_vm.$t('org.vue.views.project-create.tabs.configuration.modal.buttons.cancel')},on:{\"click\":function($event){_vm.showSavePreset = false}}}),_c('VueButton',{staticClass:\"continue\",attrs:{\"label\":_vm.$t('org.vue.views.project-create.tabs.configuration.modal.buttons.continue')},on:{\"click\":function($event){return _vm.createWithoutSaving()}}}),_c('VueButton',{staticClass:\"primary save\",attrs:{\"label\":_vm.$t('org.vue.views.project-create.tabs.configuration.modal.buttons.create'),\"icon-left\":\"save\",\"disabled\":!_vm.formData.save},on:{\"click\":function($event){return _vm.createProject()}}})],1)]):_vm._e(),_c('ProgressScreen',{attrs:{\"progress-id\":\"project-create\",\"debug\":_vm.debug}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-create page\">\n    <div class=\"content\">\n      <StepWizard\n        :title=\"$t('org.vue.views.project-create.title')\"\n        class=\"frame\"\n      >\n        <template slot-scope=\"{ next, previous }\">\n          <VueTab\n            id=\"details\"\n            class=\"details\"\n            :label=\"$t('org.vue.views.project-create.tabs.details.title')\"\n            icon=\"subject\"\n          >\n            <div class=\"content vue-ui-disable-scroll\">\n              <div class=\"project-details vue-ui-grid col-1\">\n                <VueFormField\n                  :title=\"$t('org.vue.views.project-create.tabs.details.form.folder.label')\"\n                >\n                  <VueInput\n                    v-model=\"formData.folder\"\n                    :placeholder=\"$t('org.vue.views.project-create.tabs.details.form.folder.placeholder')\"\n                    icon-left=\"folder\"\n                    class=\"big app-name\"\n                  />\n\n                  <div slot=\"subtitle\">\n                    <div class=\"project-path\">\n                      <div class=\"path\">\n                        <span\n                          class=\"cwd\"\n                          v-tooltip=\"cwd\"\n                        >\n                          {{ cwd | folder(42 - formData.folder.length) }}\n                        </span>\n                        <span class=\"folder\">{{ formData.folder }}</span>\n                      </div>\n\n                      <VueButton\n                        icon-left=\"edit\"\n                        class=\"icon-button change-folder\"\n                        v-tooltip=\"$t('org.vue.views.project-create.tabs.details.form.folder.tooltip')\"\n                        :to=\"{\n                          name: 'project-select',\n                          query: {\n                            tab: 'create',\n                            hideTabs: true\n                          }\n                        }\"\n                      />\n                    </div>\n\n                    <div\n                      v-if=\"formData.folder && !folderNameValid\"\n                      class=\"vue-ui-text danger banner\"\n                    >\n                      <VueIcon icon=\"error\" class=\"big\"/>\n                      <span>{{ $t('org.vue.views.project-create.tabs.details.form.folder.folder-name-invalid') }}</span>\n                    </div>\n\n                    <ApolloQuery\n                      v-if=\"formData.folder\"\n                      :query=\"require('@/graphql/folder/folderExists.gql')\"\n                      :variables=\"{\n                        file: `${cwd}/${formData.folder}`\n                      }\"\n                      fetch-policy=\"no-cache\"\n                    >\n                      <div\n                        slot-scope=\"{ result: { data } }\"\n                        v-if=\"data && data.folderExists\"\n                        class=\"vue-ui-text warning banner\"\n                      >\n                        <VueIcon icon=\"warning\" class=\"big\"/>\n                        <span>{{ $t('org.vue.views.project-create.tabs.details.form.folder.folder-exists') }}</span>\n                      </div>\n                    </ApolloQuery>\n                  </div>\n                </VueFormField>\n\n                <VueFormField\n                  :title=\"$t('org.vue.views.project-create.tabs.details.form.manager.label')\"\n                >\n                  <VueSelect\n                    v-model=\"formData.packageManager\"\n                  >\n                    <VueSelectButton\n                      :value=\"undefined\"\n                      :label=\"$t('org.vue.views.project-create.tabs.details.form.manager.default')\"\n                    />\n                    <VueSelectButton\n                      value=\"npm\"\n                      label=\"npm\"\n                    />\n                    <VueSelectButton\n                      value=\"yarn\"\n                      label=\"yarn\"\n                    />\n                    <VueSelectButton\n                      value=\"pnpm\"\n                      label=\"pnpm\"\n                    />\n                  </VueSelect>\n                </VueFormField>\n\n                <VueFormField\n                  :title=\"$t('org.vue.views.project-create.tabs.details.form.options.label')\"\n                >\n                  <VueSwitch\n                    v-model=\"formData.force\"\n                    class=\"extend-left force\"\n                  >\n                    {{ $t('org.vue.views.project-create.tabs.details.form.options.force') }}\n                  </VueSwitch>\n\n                  <VueSwitch\n                    v-model=\"formData.bare\"\n                    class=\"extend-left bare\"\n                  >\n                    {{ $t('org.vue.views.project-create.tabs.details.form.options.bare') }}\n                  </VueSwitch>\n                </VueFormField>\n\n                <VueFormField\n                  :title=\"$t('org.vue.views.project-create.tabs.details.form.options.git-title')\"\n                >\n                  <VueSwitch\n                    v-model=\"formData.enableGit\"\n                    class=\"extend-left git\"\n                  >\n                    {{ $t('org.vue.views.project-create.tabs.details.form.options.git') }}\n                  </VueSwitch>\n                  <VueInput\n                    v-model=\"formData.gitCommitMessage\"\n                    v-show=\"formData.enableGit\"\n                    :placeholder=\"$t('org.vue.views.project-create.tabs.details.form.options.git-commit-message')\"\n                  />\n                </VueFormField>\n              </div>\n            </div>\n\n            <div class=\"actions-bar\">\n              <VueButton\n                icon-left=\"close\"\n                :label=\"$t('org.vue.views.project-create.tabs.details.buttons.cancel')\"\n                class=\"big close\"\n                @click=\"showCancel = true\"\n              />\n\n              <VueButton\n                icon-right=\"arrow_forward\"\n                :label=\"$t('org.vue.views.project-create.tabs.details.buttons.next')\"\n                class=\"big primary next\"\n                :disabled=\"!detailsValid\"\n                @click=\"next()\"\n              />\n            </div>\n          </VueTab>\n\n          <VueTab\n            id=\"presets\"\n            class=\"presets\"\n            :label=\"$t('org.vue.views.project-create.tabs.presets.title')\"\n            icon=\"check_circle\"\n            :disabled=\"!detailsValid\"\n            lazy\n          >\n            <div class=\"content vue-ui-disable-scroll\">\n              <div class=\"vue-ui-text info banner\">\n                <VueIcon icon=\"info\" class=\"big\"/>\n                <span>{{ $t('org.vue.views.project-create.tabs.presets.description') }}</span>\n              </div>\n\n              <div class=\"cta-text\">\n                {{ $t('org.vue.views.project-create.tabs.presets.select') }}\n              </div>\n\n              <template v-if=\"projectCreation\">\n                <ProjectPresetItem\n                  v-for=\"preset of projectCreation.presets\"\n                  :key=\"preset.id\"\n                  :preset=\"preset\"\n                  :selected=\"formData.selectedPreset === preset.id\"\n                  @click.native=\"selectPreset(preset.id)\"\n                />\n              </template>\n\n              <ProjectPresetItem\n                :preset=\"remotePresetInfo\"\n                :selected=\"formData.selectedPreset === '__remote__'\"\n                :description=\"formData.remotePreset.url\"\n                @click.native=\"selectPreset('__remote__')\"\n              />\n            </div>\n\n            <div class=\"actions-bar\">\n              <VueButton\n                icon-left=\"arrow_back\"\n                :label=\"$t('org.vue.views.project-create.tabs.presets.buttons.previous')\"\n                class=\"big previous\"\n                @click=\"previous()\"\n              />\n\n              <VueButton\n                v-if=\"manual\"\n                icon-right=\"arrow_forward\"\n                :label=\"$t('org.vue.views.project-create.tabs.presets.buttons.next')\"\n                class=\"big primary next\"\n                :disabled=\"!presetValid\"\n                @click=\"next()\"\n              />\n              <VueButton\n                v-else\n                icon-left=\"done\"\n                :label=\"$t('org.vue.views.project-create.tabs.presets.buttons.create')\"\n                class=\"big primary next\"\n                :disabled=\"!formData.selectedPreset\"\n                @click=\"createWithoutSaving()\"\n              />\n            </div>\n          </VueTab>\n\n          <VueTab\n            id=\"features\"\n            class=\"features\"\n            :label=\"$t('org.vue.views.project-create.tabs.features.title')\"\n            icon=\"device_hub\"\n            :disabled=\"!detailsValid || !presetValid || !manual\"\n            lazy\n          >\n            <div class=\"content vue-ui-disable-scroll\">\n              <div class=\"vue-ui-text info banner\">\n                <VueIcon icon=\"info\" class=\"big\"/>\n                <span>{{ $t('org.vue.views.project-create.tabs.features.description') }}</span>\n              </div>\n\n              <div class=\"cta-text\">\n                {{ $t('org.vue.views.project-create.tabs.features.enable') }}\n              </div>\n\n              <template v-if=\"projectCreation\">\n                <ProjectFeatureItem\n                  v-for=\"feature of projectCreation.features\"\n                  :key=\"feature.id\"\n                  :feature=\"feature\"\n                  @click.native=\"toggleFeature(feature)\"\n                />\n              </template>\n            </div>\n\n            <div class=\"actions-bar\">\n              <VueButton\n                icon-left=\"arrow_back\"\n                :label=\"$t('org.vue.views.project-create.tabs.features.buttons.previous')\"\n                class=\"big previous\"\n                @click=\"previous()\"\n              />\n\n              <VueButton\n                v-if=\"visiblePrompts.length\"\n                icon-right=\"arrow_forward\"\n                :label=\"$t('org.vue.views.project-create.tabs.features.buttons.next')\"\n                class=\"big primary next\"\n                @click=\"next()\"\n              />\n              <VueButton\n                v-else\n                icon-left=\"done\"\n                :label=\"$t('org.vue.views.project-create.tabs.features.buttons.create')\"\n                class=\"big primary next\"\n                @click=\"showSavePreset = true\"\n              />\n            </div>\n          </VueTab>\n\n          <!-- <VueTab\n            id=\"plugins\"\n            label=\"Plugins\"\n            icon=\"widgets\"\n            :disabled=\"!detailsValid || !presetValid\"\n            lazy\n          >\n            <div class=\"content vue-ui-disable-scroll\">\n\n            </div>\n\n            <div class=\"actions-bar\">\n              <VueButton\n                icon-left=\"arrow_back\"\n                label=\"Previous\"\n                class=\"big\"\n                @click=\"previous()\"\n              />\n\n              <VueButton\n                icon-right=\"arrow_forward\"\n                label=\"Next\"\n                class=\"big primary\"\n                @click=\"next()\"\n              />\n            </div>\n          </VueTab> -->\n\n          <VueTab\n            id=\"config\"\n            class=\"config\"\n            :label=\"$t('org.vue.views.project-create.tabs.configuration.title')\"\n            icon=\"settings_applications\"\n            :disabled=\"!detailsValid || !presetValid || !manual || !visiblePrompts.length\"\n            lazy\n          >\n            <div class=\"content vue-ui-disable-scroll\">\n              <PromptsList\n                :prompts=\"visiblePrompts\"\n                @answer=\"answerPrompt\"\n              />\n            </div>\n\n            <div class=\"actions-bar\">\n              <VueButton\n                icon-left=\"arrow_back\"\n                :label=\"$t('org.vue.views.project-create.tabs.configuration.buttons.previous')\"\n                class=\"big previous\"\n                @click=\"previous()\"\n              />\n\n              <VueButton\n                icon-left=\"done\"\n                :label=\"$t('org.vue.views.project-create.tabs.configuration.buttons.create')\"\n                class=\"big primary next\"\n                :disabled=\"!configurationValid\"\n                @click=\"showSavePreset = true\"\n              />\n            </div>\n          </VueTab>\n        </template>\n      </StepWizard>\n    </div>\n\n    <VueModal\n      v-if=\"showRemotePreset\"\n      :title=\"$t('org.vue.views.project-create.tabs.presets.modal.title')\"\n      class=\"small remove-preset-modal\"\n      @close=\"closeRemotePresetModal()\"\n    >\n      <div class=\"default-body vue-ui-grid big-gap col-1\">\n        <VueFormField\n          :title=\"$t('org.vue.views.project-create.tabs.presets.remote.url.title')\"\n          :subtitle=\"$t('org.vue.views.project-create.tabs.presets.remote.url.subtitle')\"\n        >\n          <VueInput\n            v-model=\"formData.remotePreset.url\"\n            icon-left=\"language\"\n            v-focus\n          />\n        </VueFormField>\n\n        <VueFormField\n          :title=\"$t('org.vue.views.project-create.tabs.presets.remote.options')\"\n        >\n          <VueSwitch\n            v-model=\"formData.remotePreset.clone\"\n            class=\"extend-left\"\n            :disabled=\"remoteNotGithub\"\n          >\n            {{ $t('org.vue.views.project-create.tabs.presets.remote.clone') }}\n          </VueSwitch>\n        </VueFormField>\n      </div>\n\n      <div slot=\"footer\" class=\"actions end\">\n        <VueButton\n          :label=\"$t('org.vue.views.project-create.tabs.presets.remote.cancel')\"\n          class=\"flat\"\n          @click=\"closeRemotePresetModal(true)\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.views.project-create.tabs.presets.remote.done')\"\n          :disabled=\"!formData.remotePreset.url || !remotePresetValid\"\n          :loading-secondary=\"remotePresetValid === null\"\n          icon-left=\"done\"\n          class=\"primary\"\n          @click=\"closeRemotePresetModal()\"\n        />\n      </div>\n    </VueModal>\n\n    <VueModal\n      v-if=\"showCancel\"\n      :title=\"$t('org.vue.views.project-create.tabs.details.modal.title')\"\n      class=\"small\"\n      @close=\"showCancel = false\"\n    >\n      <div class=\"default-body\">\n        {{ $t('org.vue.views.project-create.tabs.details.modal.body') }}\n      </div>\n\n      <div slot=\"footer\" class=\"actions end\">\n        <VueButton\n          :label=\"$t('org.vue.views.project-create.tabs.details.modal.buttons.back')\"\n          class=\"flat\"\n          @click=\"showCancel = false\"\n        />\n\n        <VueButton\n          :to=\"{ name: 'project-select' }\"\n          :label=\"$t('org.vue.views.project-create.tabs.details.modal.buttons.clear')\"\n          icon-left=\"delete_forever\"\n          class=\"danger\"\n        />\n      </div>\n    </VueModal>\n\n    <VueModal\n      v-if=\"showSavePreset\"\n      :title=\"$t('org.vue.views.project-create.tabs.configuration.modal.title')\"\n      class=\"medium save-preset-modal\"\n      @close=\"showSavePreset = false\"\n    >\n      <div class=\"default-body\">\n        <VueFormField\n          :title=\"$t('org.vue.views.project-create.tabs.configuration.modal.body.title')\"\n          :subtitle=\"$t('org.vue.views.project-create.tabs.configuration.modal.body.subtitle')\"\n        >\n          <VueInput\n            v-model=\"formData.save\"\n            icon-left=\"local_offer\"\n            v-focus\n          />\n        </VueFormField>\n      </div>\n\n      <div slot=\"footer\" class=\"actions end\">\n        <VueButton\n          :label=\"$t('org.vue.views.project-create.tabs.configuration.modal.buttons.cancel')\"\n          class=\"flat close\"\n          @click=\"showSavePreset = false\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.views.project-create.tabs.configuration.modal.buttons.continue')\"\n          class=\"continue\"\n          @click=\"createWithoutSaving()\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.views.project-create.tabs.configuration.modal.buttons.create')\"\n          icon-left=\"save\"\n          class=\"primary save\"\n          :disabled=\"!formData.save\"\n          @click=\"createProject()\"\n        />\n      </div>\n    </VueModal>\n\n    <ProgressScreen\n      progress-id=\"project-create\"\n      :debug=\"debug\"\n    />\n  </div>\n</template>\n\n<script>\nimport Prompts from '@/mixins/Prompts'\nimport { isValidName } from '@/util/folders'\nimport debounce from 'lodash.debounce'\n\nimport CWD from '@/graphql/cwd/cwd.gql'\nimport PROJECT_CREATION from '@/graphql/project/projectCreation.gql'\nimport FEATURE_SET_ENABLED from '@/graphql/feature/featureSetEnabled.gql'\nimport PRESET_APPLY from '@/graphql/preset/presetApply.gql'\nimport PROJECT_CREATE from '@/graphql/project/projectCreate.gql'\nimport PROJECT_CANCEL_CREATION from '@/graphql/project/projectCancelCreation.gql'\n\nfunction formDataFactory () {\n  return {\n    folder: '',\n    force: false,\n    bare: false,\n    enableGit: true,\n    gitCommitMessage: '',\n    packageManager: undefined,\n    selectedPreset: null,\n    remotePreset: {\n      url: '',\n      clone: false\n    },\n    save: ''\n  }\n}\n\nlet formData = formDataFactory()\n\nexport default {\n  name: 'ProjectCreate',\n\n  mixins: [\n    Prompts({\n      field: 'projectCreation',\n      query: PROJECT_CREATION\n    })\n  ],\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-create.title')\n    }\n  },\n\n  data () {\n    return {\n      formData: formData,\n      cwd: '',\n      projectCreation: null,\n      showCancel: false,\n      showRemotePreset: false,\n      showSavePreset: false,\n      remotePresetValid: false,\n      debug: ''\n    }\n  },\n\n  apollo: {\n    cwd: {\n      query: CWD,\n      fetchPolicy: 'network-only'\n    },\n\n    projectCreation: {\n      query: PROJECT_CREATION,\n      fetchPolicy: 'network-only'\n    }\n  },\n\n  computed: {\n    folderNameValid () {\n      return isValidName(this.formData.folder)\n    },\n\n    detailsValid () {\n      return !!this.formData.folder && this.folderNameValid\n    },\n\n    presetValid () {\n      return !!this.formData.selectedPreset\n    },\n\n    manual () {\n      return this.formData.selectedPreset === '__manual__'\n    },\n\n    remotePresetInfo () {\n      return {\n        name: 'org.vue.views.project-create.tabs.presets.remote.name',\n        description: 'org.vue.views.project-create.tabs.presets.remote.description'\n      }\n    },\n\n    remoteNotGithub () {\n      const { url } = this.formData.remotePreset\n      return url && /^(gitlab|bitbucket):/.test(url)\n    }\n  },\n\n  watch: {\n    'formData.remotePreset.url' () {\n      this.debouncedCheckRemotePreset()\n    },\n\n    'formData.remotePreset.clone' () {\n      this.debouncedCheckRemotePreset()\n    },\n\n    remoteNotGithub (value) {\n      if (value) {\n        this.$_oldClone = this.formData.remotePreset.clone\n        this.formData.remotePreset.clone = value\n      } else {\n        this.formData.remotePreset.clone = this.$_oldClone\n      }\n\n      if (!value) {\n        this.checkRemotePreset()\n      }\n    }\n  },\n\n  created () {\n    this.debouncedCheckRemotePreset = debounce(this.checkRemotePreset, 1000)\n  },\n\n  beforeDestroy () {\n    this.cancel()\n  },\n\n  methods: {\n    async selectPreset (id) {\n      this.formData.selectedPreset = id\n\n      if (id === '__remote__') {\n        this.showRemotePreset = true\n        return\n      }\n\n      await this.$apollo.mutate({\n        mutation: PRESET_APPLY,\n        variables: {\n          id\n        },\n        update: (store, { data: { presetApply } }) => {\n          store.writeQuery({ query: PROJECT_CREATION, data: { projectCreation: presetApply } })\n        }\n      })\n    },\n\n    async toggleFeature (feature) {\n      await this.$apollo.mutate({\n        mutation: FEATURE_SET_ENABLED,\n        variables: {\n          id: feature.id,\n          enabled: !feature.enabled\n        }\n      })\n\n      this.$apollo.queries.projectCreation.refetch()\n    },\n\n    createWithoutSaving () {\n      this.formData.save = ''\n      this.createProject()\n    },\n\n    async createProject () {\n      this.showSavePreset = false\n\n      try {\n        await this.$apollo.mutate({\n          mutation: PROJECT_CREATE,\n          variables: {\n            input: {\n              folder: this.formData.folder,\n              force: this.formData.force,\n              bare: this.formData.bare,\n              enableGit: this.formData.enableGit,\n              gitCommitMessage: this.formData.gitCommitMessage,\n              packageManager: this.formData.packageManager,\n              preset: this.formData.selectedPreset,\n              remote: this.formData.remotePreset.url,\n              clone: this.formData.remotePreset.clone,\n              save: this.formData.save\n            }\n          }\n        })\n        this.$router.push({ name: 'project-home' })\n        await this.$nextTick()\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n        this.debug = `ERROR: ${e}`\n      }\n    },\n\n    async cancel () {\n      formData = formDataFactory()\n      await this.$apollo.mutate({\n        mutation: PROJECT_CANCEL_CREATION\n      })\n    },\n\n    closeRemotePresetModal (clear = false) {\n      if (clear) {\n        this.formData.remotePreset.url = ''\n      }\n\n      this.showRemotePreset = false\n      if (!this.formData.remotePreset.url) {\n        this.formData.selectedPreset = null\n      }\n    },\n\n    async checkRemotePreset () {\n      if (!this.formData.remotePreset.url) {\n        this.remotePresetValid = false\n        return\n      }\n\n      if (this.formData.remotePreset.clone) {\n        this.remotePresetValid = true\n      } else {\n        this.remotePresetValid = null\n\n        const url = `https://raw.githubusercontent.com/${this.formData.remotePreset.url}/master/preset.json`\n\n        const response = await fetch(url)\n        this.remotePresetValid = response.ok\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-create\n  display grid\n  grid-template-columns 1fr\n  grid-template-rows auto\n  grid-template-areas \"content\"\n\n.content\n  grid-area content\n\n.project-details\n  max-width 400px\n  width 100%\n  margin 42px auto\n  grid-gap ($padding-item * 3)\n\n  .vue-ui-text.banner\n    margin-top 6px\n\n.project-path\n  h-box()\n  box-center()\n\n  .path\n    flex 100% 1 1\n    margin-right 6px\n    h-box()\n    align-items baseline\n\n    .folder\n      font-weight bold\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCreate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCreate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectCreate.vue?vue&type=template&id=126d6818&scoped=true&\"\nimport script from \"./ProjectCreate.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectCreate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectCreate.vue?vue&type=style&index=0&id=126d6818&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"126d6818\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-home page\",class:{\n    wide: _vm.$responsive.wide\n  }},[_c('div',{staticClass:\"panes\"},[_c('ViewNav'),(_vm.ready)?_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('TopBar'),_c('router-view',{staticClass:\"router-view\"})],1):_vm._e()],1),_c('ProgressScreen',{attrs:{\"progress-id\":\"__plugins__\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"project-home page\"\n    :class=\"{\n      wide: $responsive.wide\n    }\"\n  >\n    <div class=\"panes\">\n      <ViewNav/>\n\n      <div v-if=\"ready\" class=\"content vue-ui-disable-scroll\">\n        <TopBar />\n        <router-view class=\"router-view\"/>\n      </div>\n    </div>\n\n    <ProgressScreen progress-id=\"__plugins__\"/>\n  </div>\n</template>\n\n<script>\nimport PROJECT_CWD_RESET from '@/graphql/project/projectCwdReset.gql'\n\nexport default {\n  name: 'ProjectHome',\n\n  data () {\n    return {\n      ready: false\n    }\n  },\n\n  async created () {\n    await this.$apollo.mutate({\n      mutation: PROJECT_CWD_RESET\n    })\n    this.ready = true\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-home\n  display flex\n  flex-direction column\n\n  &.wide\n    .project-nav\n      width 220px\n\n.panes\n  flex auto 1 1\n  height 100%\n  display flex\n  overflow hidden\n\n.top-bar,\n.project-nav\n  flex auto 0 0\n\n.project-nav\n  width 46px\n\n.content\n  flex auto 1 1\n  width 0\n  overflow-x hidden\n  overflow-y auto\n  display flex\n  flex-direction column\n\n.top-bar\n  flex auto 0 0\n\n.router-view\n  flex 1\n  height 0\n  overflow hidden\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectHome.vue?vue&type=template&id=2a0d3bdd&scoped=true&\"\nimport script from \"./ProjectHome.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectHome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectHome.vue?vue&type=style&index=0&id=2a0d3bdd&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2a0d3bdd\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"configurationCancel\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configurationCancel\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":142}};\n    doc.loc.source = {\"body\":\"#import \\\"./configurationFragment.gql\\\"\\n\\nmutation configurationCancel ($id: ID!) {\\n  configurationCancel (id: $id) {\\n    ...configuration\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./configurationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"configurationCancel\"] = oneQuery(doc, \"configurationCancel\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDisable',{staticClass:\"prompt prompt-list\",attrs:{\"disabled\":!_vm.prompt.enabled}},[_c('div',{staticClass:\"prompt-content\"},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.prompt.message),\"description\":_vm.$t(_vm.prompt.description),\"link\":_vm.prompt.link}}),_c('div',{staticClass:\"prompt-input\"},[_c('VueSelect',{attrs:{\"value\":_vm.value(_vm.prompt.value)},on:{\"update\":function (value) { return _vm.answer(value); }}},_vm._l((_vm.prompt.choices),function(choice,index){return _c('VueSelectButton',{key:index,attrs:{\"value\":_vm.value(choice.value),\"label\":_vm.generateLabel(choice)}})}),1)],1)],1),_c('PromptError',{attrs:{\"error\":_vm.prompt.error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDisable\n    :disabled=\"!prompt.enabled\"\n    class=\"prompt prompt-list\"\n  >\n    <div class=\"prompt-content\">\n      <ListItemInfo\n        :name=\"$t(prompt.message)\"\n        :description=\"$t(prompt.description)\"\n        :link=\"prompt.link\"\n      />\n\n      <div class=\"prompt-input\">\n        <VueSelect\n          :value=\"value(prompt.value)\"\n          @update=\"value => answer(value)\"\n        >\n          <VueSelectButton\n            v-for=\"(choice, index) of prompt.choices\"\n            :key=\"index\"\n            :value=\"value(choice.value)\"\n            :label=\"generateLabel(choice)\"\n          />\n        </VueSelect>\n      </div>\n    </div>\n\n    <PromptError :error=\"prompt.error\"/>\n  </VueDisable>\n</template>\n\n<script>\nimport Prompt from './Prompt'\n\nexport default {\n  extends: Prompt,\n\n  methods: {\n    generateLabel (choice) {\n      let label = this.$t(choice.name)\n      if (choice.isDefault) {\n        label += ` (${this.$t('org.vue.components.prompt-list.default')})`\n      }\n      return label\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptList.vue?vue&type=template&id=7a4e48fc&\"\nimport script from \"./PromptList.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetAdd\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WidgetAddInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetAdd\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":129}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetFragment.gql\\\"\\n\\nmutation widgetAdd ($input: WidgetAddInput!) {\\n  widgetAdd (input: $input) {\\n    ...widget\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgetAdd\"] = oneQuery(doc, \"widgetAdd\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCwdReset\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCwdReset\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":47}};\n    doc.loc.source = {\"body\":\"mutation projectCwdReset {\\n  projectCwdReset\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectCwdReset\"] = oneQuery(doc, \"projectCwdReset\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-dependency-item list-item\"},[_c('div',{staticClass:\"content\"},[(!_vm.visible)?_c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.visibilityChanged),expression:\"visibilityChanged\"}]}):_vm._e(),_c('ItemLogo',{staticClass:\"identicon\",attrs:{\"image\":_vm.image || 'widgets',\"fallback-icon\":\"widgets\"}}),_c('ListItemInfo',{attrs:{\"name\":_vm.dependency.id,\"link\":_vm.dependency.website,\"show-description\":\"\"}},[_c('span',{staticClass:\"dependency-description\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('span',{staticClass:\"info version\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-dependency-item.version')))]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.dependencyDetails && _vm.dependencyDetails.version.current))])]),_c('span',{staticClass:\"info wanted\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-dependency-item.wanted')))]),(_vm.dependencyDetails && _vm.dependencyDetails.version.current !== _vm.dependencyDetails.version.wanted)?_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"warning\"}}):_vm._e(),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.dependencyDetails && _vm.dependencyDetails.version.wanted))])],1),_c('span',{staticClass:\"info latest\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-dependency-item.latest')))]),(_vm.dependencyDetails && _vm.dependencyDetails.version.current !== _vm.dependencyDetails.version.latest)?_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"warning\"}}):_vm._e(),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.dependencyDetails && _vm.dependencyDetails.version.latest))])],1),(_vm.dependency.installed)?_c('span',{staticClass:\"info installed\"},[_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"check_circle\"}}),_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.project-dependency-item.installed'))+\" \")],1):_vm._e(),(_vm.dependencyDetails && _vm.dependencyDetails.description)?_c('span',{staticClass:\"package-description\"},[_vm._v(\" \"+_vm._s(_vm.dependencyDetails.description)+\" \")]):_vm._e()])]),(_vm.dependencyDetails && _vm.dependencyDetails.version.current !== _vm.dependencyDetails.version.wanted)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-dependency-item.actions.update', { target: _vm.dependency.id })),expression:\"$t('org.vue.components.project-dependency-item.actions.update', { target: dependency.id })\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"file_download\",\"loading-left\":_vm.updating},on:{\"click\":function($event){return _vm.updateDependency()}}}):_vm._e(),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-dependency-item.actions.uninstall', { target: _vm.dependency.id })),expression:\"$t('org.vue.components.project-dependency-item.actions.uninstall', { target: dependency.id })\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"delete\"},on:{\"click\":function($event){return _vm.$emit('uninstall')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-dependency-item list-item\">\n    <div class=\"content\">\n      <div\n        v-if=\"!visible\"\n        v-observe-visibility=\"visibilityChanged\"\n      />\n\n      <ItemLogo\n        :image=\"image || 'widgets'\"\n        fallback-icon=\"widgets\"\n        class=\"identicon\"\n      />\n\n      <ListItemInfo\n        :name=\"dependency.id\"\n        :link=\"dependency.website\"\n        show-description\n      >\n        <span slot=\"description\" class=\"dependency-description\">\n          <span class=\"info version\">\n            <span class=\"label\">{{ $t('org.vue.components.project-dependency-item.version') }}</span>\n            <span class=\"value\">{{ dependencyDetails && dependencyDetails.version.current }}</span>\n          </span>\n\n          <span class=\"info wanted\">\n            <span class=\"label\">{{ $t('org.vue.components.project-dependency-item.wanted') }}</span>\n            <VueIcon\n              v-if=\"dependencyDetails && dependencyDetails.version.current !== dependencyDetails.version.wanted\"\n              icon=\"warning\"\n              class=\"top medium\"\n            />\n            <span class=\"value\">{{ dependencyDetails && dependencyDetails.version.wanted }}</span>\n          </span>\n\n          <span class=\"info latest\">\n            <span class=\"label\">{{ $t('org.vue.components.project-dependency-item.latest') }}</span>\n            <VueIcon\n              v-if=\"dependencyDetails && dependencyDetails.version.current !== dependencyDetails.version.latest\"\n              icon=\"warning\"\n              class=\"top medium\"\n            />\n            <span class=\"value\">{{ dependencyDetails && dependencyDetails.version.latest }}</span>\n          </span>\n\n          <span v-if=\"dependency.installed\" class=\"info installed\">\n            <VueIcon\n              icon=\"check_circle\"\n              class=\"top medium\"\n            />\n            {{ $t('org.vue.components.project-dependency-item.installed') }}\n          </span>\n\n          <span v-if=\"dependencyDetails && dependencyDetails.description\" class=\"package-description\">\n            {{ dependencyDetails.description }}\n          </span>\n        </span>\n      </ListItemInfo>\n\n      <VueButton\n        v-if=\"dependencyDetails && dependencyDetails.version.current !== dependencyDetails.version.wanted\"\n        icon-left=\"file_download\"\n        class=\"icon-button\"\n        v-tooltip=\"$t('org.vue.components.project-dependency-item.actions.update', { target: dependency.id })\"\n        :loading-left=\"updating\"\n        @click=\"updateDependency()\"\n      />\n      <VueButton\n        icon-left=\"delete\"\n        class=\"icon-button\"\n        v-tooltip=\"$t('org.vue.components.project-dependency-item.actions.uninstall', { target: dependency.id })\"\n        @click=\"$emit('uninstall')\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport DEPENDENCY_DETAILS from '@/graphql/dependency/dependencyDetails.gql'\nimport DEPENDENCY_UPDATE from '@/graphql/dependency/dependencyUpdate.gql'\n\nexport default {\n  props: {\n    dependency: {\n      type: Object,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      updating: false,\n      visible: false,\n      image: null\n    }\n  },\n\n  apollo: {\n    dependencyDetails: {\n      query: DEPENDENCY_DETAILS,\n      variables () {\n        return {\n          id: this.dependency.id\n        }\n      },\n      skip () {\n        return !this.visible\n      }\n    }\n  },\n\n  methods: {\n    async updateDependency () {\n      this.updating = true\n      try {\n        this.$apollo.mutate({\n          mutation: DEPENDENCY_UPDATE,\n          variables: {\n            input: {\n              id: this.dependency.id\n            }\n          }\n        })\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n      this.updating = false\n    },\n\n    visibilityChanged (isVisible) {\n      if (!this.visible) {\n        this.image = `https://avatars.dicebear.com/v2/identicon/${this.dependency.id.replace(/\\//g, '-')}.svg`\n        this.visible = isVisible\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-dependency-item\n  padding $padding-item\n  cursor default\n  height 44px\n\n  .content\n    h-box()\n    box-center()\n\n  .list-item-info\n    flex 100% 1 1\n    width 0\n\n  .dependency-description\n    margin-right $padding-item\n\n  .label\n    opacity .7\n\n  .info\n    display inline-block\n    space-between-x($padding-item)\n    >>> > *\n      space-between-x(4px)\n\n  .description\n    height 21px\n\n  .version,\n  .wanted,\n  .latest\n    min-width 130px\n    .value\n      font-family monospace\n      font-size .9em\n\n  .installed\n    @media (max-width: 1130px)\n      display none\n\n  .package-description\n    font-style italic\n    opacity .7\n    display inline-block\n    max-width 300px\n    ellipsis()\n    position relative\n    top 4px\n    @media (max-width: 1080px)\n      display none\n\n  .icon-button\n    &:not(:last-child)\n      margin-right 6px\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencyItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencyItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectDependencyItem.vue?vue&type=template&id=c7b4d70c&scoped=true&\"\nimport script from \"./ProjectDependencyItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectDependencyItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectDependencyItem.vue?vue&type=style&index=0&id=c7b4d70c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c7b4d70c\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"folderExists\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"folderExists\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":67}};\n    doc.loc.source = {\"body\":\"query folderExists ($file: String!) {\\n  folderExists(file: $file)\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"folderExists\"] = oneQuery(doc, \"folderExists\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"progressChanged\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"progressChanged\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":128}};\n    doc.loc.source = {\"body\":\"#import \\\"./progressFragment.gql\\\"\\n\\nsubscription progressChanged ($id: ID!) {\\n  progressChanged (id: $id) {\\n    ...progress\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./progressFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"progressChanged\"] = oneQuery(doc, \"progressChanged\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Version\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"latest\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wanted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"range\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"localPath\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":80}};\n    doc.loc.source = {\"body\":\"fragment version on Version {\\n  current\\n  latest\\n  wanted\\n  range\\n  localPath\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-diff-change\",class:[\n    (\"type-\" + (_vm.change.type))\n  ]},[_c('div',{staticClass:\"lines\"},[_c('div',{staticClass:\"ln ln1\"},[_vm._v(\" \"+_vm._s(_vm.ln1)+\" \")]),_c('div',{staticClass:\"ln ln2\",class:{\n        disabled: !_vm.ln2\n      },on:{\"click\":function($event){return _vm.openInEditor()}}},[_vm._v(\" \"+_vm._s(_vm.ln2)+\" \")])]),_c('div',{staticClass:\"content\",domProps:{\"innerHTML\":_vm._s(_vm.change.content)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    :class=\"[\n      `type-${change.type}`\n    ]\"\n    class=\"file-diff-change\"\n  >\n    <div class=\"lines\">\n      <div class=\"ln ln1\">\n        {{ ln1 }}\n      </div>\n      <div\n        :class=\"{\n          disabled: !ln2\n        }\"\n        class=\"ln ln2\"\n        @click=\"openInEditor()\"\n      >\n        {{ ln2 }}\n      </div>\n    </div>\n    <div class=\"content\" v-html=\"change.content\"/>\n  </div>\n</template>\n\n<script>\nimport FILE_OPEN_IN_EDITOR from '@/graphql/file/fileOpenInEditor.gql'\n\nexport default {\n  inject: [\n    'FileDiffInjection'\n  ],\n\n  props: {\n    change: {\n      type: Object,\n      required: true\n    }\n  },\n\n  computed: {\n    ln1 () {\n      if (this.change.normal) {\n        return this.change.ln1\n      } else if (this.change.type === 'del') {\n        return this.change.ln\n      }\n    },\n\n    ln2 () {\n      if (this.change.normal) {\n        return this.change.ln2\n      } else if (this.change.type === 'add') {\n        return this.change.ln\n      }\n    }\n  },\n\n  methods: {\n    openInEditor () {\n      if (!this.ln2) return\n\n      this.$apollo.mutate({\n        mutation: FILE_OPEN_IN_EDITOR,\n        variables: {\n          input: {\n            file: this.FileDiffInjection.data.to,\n            line: this.ln2,\n            gitPath: true\n          }\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.file-diff-change\n  font-family $font-mono\n  font-size 12px\n  h-box()\n\n  .ln,\n  .content\n    padding 4px $padding-item\n\n  .lines\n    width 120px\n    h-box()\n    background $color-background-light\n    color rgba($vue-ui-color-dark, .4)\n    .vue-ui-dark-mode &\n      background darken($vue-ui-color-dark, 10%)\n      color $vue-ui-color-light\n\n    .ln\n      text-align right\n      flex 100% 1 1\n      width 0\n      overflow hidden\n\n    .ln2\n      cursor pointer\n      &:hover\n        text-decoration underline\n      &.disabled\n        pointer-events none\n\n  .content\n    flex auto 1 1\n    white-space pre\n\n  &.type-add\n    background desaturate(lighten($vue-ui-color-success, 90%), 30%)\n    .vue-ui-dark-mode &\n      background desaturate(darken($vue-ui-color-success, 60%), 50%)\n    .lines\n      background lighten($vue-ui-color-success, 80%)\n      .vue-ui-dark-mode &\n       background darken($vue-ui-color-success, 60%)\n\n  &.type-del\n    background desaturate(lighten($vue-ui-color-danger, 90%), 30%)\n    .vue-ui-dark-mode &\n      background desaturate(darken($vue-ui-color-danger, 60%), 50%)\n\n    .lines\n      background lighten($vue-ui-color-danger, 80%)\n      .vue-ui-dark-mode &\n        background darken($vue-ui-color-danger, 60%)\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChange.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChange.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileDiffChange.vue?vue&type=template&id=3d1b750a&scoped=true&\"\nimport script from \"./FileDiffChange.vue?vue&type=script&lang=js&\"\nexport * from \"./FileDiffChange.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileDiffChange.vue?vue&type=style&index=0&id=3d1b750a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3d1b750a\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogAdded\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLogAdded\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"consoleLog\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":111}};\n    doc.loc.source = {\"body\":\"#import \\\"./consoleLogFragment.gql\\\"\\n\\nsubscription consoleLogAdded {\\n  consoleLogAdded {\\n    ...consoleLog\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./consoleLogFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"consoleLogAdded\"] = oneQuery(doc, \"consoleLogAdded\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:(_vm.description),expression:\"description\",modifiers:{\"right\":true}}],staticClass:\"task-item list-item\",class:[\n    (\"status-\" + (_vm.task.status)),\n    {\n      selected: _vm.selected\n    }\n  ],on:{\"dblclick\":function($event){return _vm.runTask()}}},[_c('div',{staticClass:\"content\"},[_c('ItemLogo',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.status),expression:\"status\"}],class:_vm.iconData.class,attrs:{\"image\":_vm.logo ? (_vm.logo + \"?project=\" + (_vm.task.project.id)) : _vm.iconData.icon,\"color-bullet\":\"\"}}),_c('ListItemInfo',{attrs:{\"name\":_vm.task.name,\"description\":_vm.description,\"selected\":_vm.selected}}),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"task-item list-item\"\n    :class=\"[\n      `status-${task.status}`,\n      {\n        selected\n      }\n    ]\"\n    v-tooltip.right=\"description\"\n    @dblclick=\"runTask()\"\n  >\n    <div class=\"content\">\n      <ItemLogo\n        :image=\"logo ? `${logo}?project=${task.project.id}` : iconData.icon\"\n        :class=\"iconData.class\"\n        v-tooltip=\"status\"\n        color-bullet\n      />\n\n      <ListItemInfo\n        :name=\"task.name\"\n        :description=\"description\"\n        :selected=\"selected\"\n      />\n\n      <slot/>\n    </div>\n  </div>\n</template>\n\n<script>\nimport TASK_RUN from '@/graphql/task/taskRun.gql'\n\nconst icons = {\n  idle: { icon: 'assignment', class: '' },\n  running: { icon: 'more_horiz', class: 'info' },\n  done: { icon: 'check_circle', class: 'success' },\n  error: { icon: 'error', class: 'danger' },\n  terminated: { icon: 'error', class: '' }\n}\n\nexport default {\n  props: {\n    task: {\n      type: Object,\n      required: true\n    },\n\n    selected: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  computed: {\n    status () {\n      return this.$t(`org.vue.types.task.status.${this.task.status}`)\n    },\n\n    iconData () {\n      return icons[this.task.status]\n    },\n\n    logo () {\n      return this.task.icon || (this.task.plugin && this.task.plugin.logo)\n    },\n\n    description () {\n      return (this.task.status === 'idle' && this.$t(this.task.description)) || this.status\n    }\n  },\n\n  methods: {\n    runTask () {\n      if (this.task.status === 'running') return\n      this.$apollo.mutate({\n        mutation: TASK_RUN,\n        variables: {\n          id: this.task.id\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.task-item\n  padding $padding-item\n\n  .content\n    h-box()\n    box-center()\n\n  .list-item-info\n    flex 100% 1 1\n    width 0\n    overflow hidden\n\n    >>> .description\n      white-space nowrap\n      overflow hidden\n      text-overflow ellipsis\n\n  &.selected\n    &.status-error .list-item-info >>> .name\n      color $vue-ui-color-danger\n    &.status-running .list-item-info >>> .name\n      color $vue-ui-color-info\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TaskItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TaskItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TaskItem.vue?vue&type=template&id=7f8de00b&scoped=true&\"\nimport script from \"./TaskItem.vue?vue&type=script&lang=js&\"\nexport * from \"./TaskItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TaskItem.vue?vue&type=style&index=0&id=7f8de00b&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7f8de00b\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectImport\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProjectImportInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectImport\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":142}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectFragment.gql\\\"\\n\\nmutation projectImport ($input: ProjectImportInput!) {\\n  projectImport(input: $input) {\\n    ...project\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectImport\"] = oneQuery(doc, \"projectImport\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptCheckbox.vue?vue&type=style&index=0&id=814eceb6&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptCheckbox.vue?vue&type=style&index=0&id=814eceb6&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"currentProjectId\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currentProjectId\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":53}};\n    doc.loc.source = {\"body\":\"query currentProjectId {\\n  currentProjectId @client\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"currentProjectId\"] = oneQuery(doc, \"currentProjectId\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"localeAdded\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"localeAdded\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":95}};\n    doc.loc.source = {\"body\":\"#import \\\"./localeFragment.gql\\\"\\n\\nsubscription localeAdded {\\n  localeAdded {\\n    ...locale\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./localeFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"localeAdded\"] = oneQuery(doc, \"localeAdded\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionUpdated\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionUpdated\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestion\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":114}};\n    doc.loc.source = {\"body\":\"#import \\\"./suggestionFragment.gql\\\"\\n\\nsubscription suggestionUpdated {\\n  suggestionUpdated {\\n    ...suggestion\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./suggestionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"suggestionUpdated\"] = oneQuery(doc, \"suggestionUpdated\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNavMore.vue?vue&type=style&index=0&id=2251f1b8&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNavMore.vue?vue&type=style&index=0&id=2251f1b8&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalView.vue?vue&type=style&index=1&id=25c537b5&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalView.vue?vue&type=style&index=1&id=25c537b5&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-badge\",class:[\n    (\"type-\" + (_vm.badge.type))\n  ]},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"counter\"},[_vm._v(_vm._s(_vm.badge.count))]),_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(_vm.badge.label)))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"view-badge\"\n    :class=\"[\n      `type-${badge.type}`\n    ]\"\n  >\n    <div class=\"content\">\n      <div class=\"counter\">{{ badge.count }}</div>\n      <div class=\"label\">{{ $t(badge.label) }}</div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    badge: {\n      type: Object,\n      required: true\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.view-badge\n  .content\n    font-size 12px\n    h-box()\n    box-center()\n\n    .counter\n      min-width 22px\n      text-align center\n      border-radius 8px\n      margin-right 6px\n      font-family $font-mono\n\n    .label\n      flex auto 1 1\n\n  &.type-info\n    .counter\n      background $vue-ui-color-info\n  &.type-success\n    .counter\n      background $vue-ui-color-success\n  &.type-error\n    .counter\n      background $vue-ui-color-danger\n  &.type-warning\n    .counter\n      background $vue-ui-color-warning\n  &.type-accent\n    .counter\n      background $vue-ui-color-accent\n  &.type-dim\n    .counter\n      background $md-grey\n\n  .vue-ui-dark-mode &\n    .counter\n      color white\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewBadge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewBadge.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewBadge.vue?vue&type=template&id=3c51b48c&scoped=true&\"\nimport script from \"./ViewBadge.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewBadge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewBadge.vue?vue&type=style&index=0&id=3c51b48c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3c51b48c\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectRemove\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectRemove\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":64}};\n    doc.loc.source = {\"body\":\"mutation projectRemove ($id: ID!) {\\n  projectRemove (id: $id)\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectRemove\"] = oneQuery(doc, \"projectRemove\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prompts-list\"},[_c('div',{staticClass:\"content\"},[_vm._l((_vm.groups),function(group){return _c('div',{key:group.id,staticClass:\"group\"},[(group.id)?_c('div',{staticClass:\"group-name\"},[_vm._v(_vm._s(_vm.$t(group.id)))]):_vm._e(),_vm._l((group.prompts),function(prompt){return (prompt.visible)?_c(_vm.getModule(prompt),{key:prompt.id,tag:\"component\",attrs:{\"prompt\":prompt},on:{\"answer\":function (value) { return _vm.$emit('answer', { prompt: prompt, value: value }); }}}):_vm._e()})],2)}),(!_vm.prompts.length)?_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"empty-icon\",attrs:{\"icon\":\"check_circle\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.prompts-list.empty')))])],1):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"prompts-list\">\n    <div class=\"content\">\n      <div\n        v-for=\"group of groups\"\n        :key=\"group.id\"\n        class=\"group\"\n      >\n        <div v-if=\"group.id\" class=\"group-name\">{{ $t(group.id) }}</div>\n\n        <component\n          v-for=\"prompt of group.prompts\"\n          v-if=\"prompt.visible\"\n          :key=\"prompt.id\"\n          :is=\"getModule(prompt)\"\n          :prompt=\"prompt\"\n          @answer=\"value => $emit('answer', { prompt, value })\"\n        />\n      </div>\n\n      <div v-if=\"!prompts.length\" class=\"vue-ui-empty\">\n        <VueIcon icon=\"check_circle\" class=\"empty-icon\"/>\n        <span>{{ $t('org.vue.components.prompts-list.empty') }}</span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nconst types = {\n  rawlist: 'list',\n  password: 'input'\n}\n\nexport default {\n  props: {\n    prompts: {\n      type: Array,\n      required: true\n    }\n  },\n\n  computed: {\n    groups () {\n      const groupMap = {}\n      const groups = []\n      this.prompts.forEach(prompt => {\n        let group = groupMap[prompt.group]\n        if (!group) {\n          group = groupMap[prompt.group] = {\n            id: prompt.group,\n            prompts: []\n          }\n          groups.push(group)\n        }\n        group.prompts.push(prompt)\n      })\n      return groups\n    }\n  },\n\n  methods: {\n    getModule (prompt) {\n      let type = prompt.type\n      if (types[type]) {\n        type = types[type]\n      }\n      type = type.charAt(0).toUpperCase() + type.substr(1)\n      return require(`./Prompt${type}.vue`).default\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.group\n  margin-bottom ($padding-item * 2)\n\n.group-name\n  padding $padding-item $padding-item ($padding-item / 2)\n  font-size 1.6em\n  font-weight 300\n  color $vue-ui-color-accent\n  .vue-ui-dark-mode &\n    color lighten($vue-ui-color-accent, 60%)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptsList.vue?vue&type=template&id=7b0b5c9a&scoped=true&\"\nimport script from \"./PromptsList.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptsList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PromptsList.vue?vue&type=style&index=0&id=7b0b5c9a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7b0b5c9a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectQuickDropdown.vue?vue&type=style&index=0&id=46e8ea3e&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectQuickDropdown.vue?vue&type=style&index=0&id=46e8ea3e&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-task-details\"},[(_vm.task)?[_c('div',{staticClass:\"header\"},[_c('VueIcon',{staticClass:\"task-icon big\",attrs:{\"icon\":\"assignment\"}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.task.name))]),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t(_vm.task.description)),expression:\"$t(task.description)\"}],staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.task.description))+\" \")]),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(((_vm.$t('org.vue.views.project-task-details.command')) + \":<br><code>\" + (_vm.task.command) + \"</code>\")),expression:\"`${$t('org.vue.views.project-task-details.command')}:<br><code>${task.command}</code>`\"}],staticClass:\"command\"},[_vm._v(\" \"+_vm._s(_vm.task.command)+\" \")])],1),_c('div',{staticClass:\"actions-bar\"},[_c('div',{staticClass:\"main-actions\"},[(_vm.task.status !== 'running')?_c('VueButton',{staticClass:\"primary\",attrs:{\"icon-left\":\"play_arrow\",\"label\":_vm.$t('org.vue.views.project-task-details.actions.play'),\"data-testid\":\"run-task\"},on:{\"click\":function($event){return _vm.runTask()}}}):_c('VueButton',{staticClass:\"primary\",attrs:{\"icon-left\":\"stop\",\"label\":_vm.$t('org.vue.views.project-task-details.actions.stop'),\"data-testid\":\"stop-task\"},on:{\"click\":function($event){return _vm.stopTask()}}}),_c('VueButton',{attrs:{\"slot\":\"trigger\",\"icon-left\":\"settings\",\"disabled\":_vm.task.status === 'running',\"label\":_vm.$t('org.vue.views.project-task-details.parameters')},on:{\"click\":function($event){_vm.showParameters = true}},slot:\"trigger\"}),(_vm.task.link)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.views.project-task-details.more-info')),expression:\"$t('org.vue.views.project-task-details.more-info')\"}],staticClass:\"icon-button\",attrs:{\"href\":_vm.task.link,\"target\":\"_blank\",\"icon-left\":\"open_in_new\"}}):_vm._e()],1),(_vm.task.views.length)?_c('VueGroup',{staticClass:\"views\",model:{value:(_vm.currentView),callback:function ($$v) {_vm.currentView=$$v},expression:\"currentView\"}},[_c('VueGroupButton',{attrs:{\"label\":_vm.$t('org.vue.views.project-task-details.output'),\"icon-left\":\"dvr\",\"value\":\"_output\"}}),_vm._l((_vm.task.views),function(view){return _c('VueGroupButton',{key:view.id,attrs:{\"value\":view.id,\"icon-left\":view.icon,\"label\":_vm.$t(view.label)}})})],2):_vm._e()],1),(!_vm.defer(3))?_c('div',{staticClass:\"content placeholder-content\"},[_c('div',{staticClass:\"view card\"})]):_c('div',{staticClass:\"content\"},[_c('TerminalView',{key:_vm.id,ref:\"terminal\",class:{\n          ghost: _vm.currentView !== '_output'\n        },attrs:{\"cols\":100,\"rows\":24,\"auto-size\":\"\",\"options\":{\n          scrollback: 5000,\n          disableStdin: true,\n          useFlowControl: true\n        },\"title\":_vm.$t('org.vue.views.project-task-details.output'),\"toolbar\":\"\",\"open-links\":\"\"},on:{\"clear\":function($event){return _vm.clearLogs()}}}),(_vm.currentView !== '_output')?_c('ClientAddonComponent',{key:_vm.currentView,staticClass:\"view\",attrs:{\"name\":_vm.currentViewComponent}}):_vm._e()],1)]:_vm._e(),(_vm.showParameters)?_c('VueModal',{staticClass:\"medium anchor\",attrs:{\"title\":_vm.$t('org.vue.views.project-task-details.parameters')},on:{\"close\":function($event){return _vm.restoreParameters()}}},[_c('div',{staticClass:\"default-body\"},[_c('PromptsList',{attrs:{\"prompts\":_vm.visiblePrompts},on:{\"answer\":_vm.answerPrompt}})],1),_c('div',{staticClass:\"actions\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"primary big\",attrs:{\"label\":_vm.$t('org.vue.views.project-task-details.actions.save')},on:{\"click\":function($event){return _vm.saveParameters()}}})],1)]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function (count = 10) {\n  // @vue/component\n  return {\n    data () {\n      return {\n        displayPriority: 0\n      }\n    },\n\n    mounted () {\n      this.runDisplayPriority()\n    },\n\n    methods: {\n      runDisplayPriority () {\n        this.displayPriority = 0\n        const step = () => {\n          requestAnimationFrame(() => {\n            this.displayPriority++\n            if (this.displayPriority < count) {\n              step()\n            }\n          })\n        }\n        step()\n      },\n\n      defer (priority) {\n        return this.displayPriority >= priority\n      }\n    }\n  }\n}\n","<template>\n  <div class=\"project-task-details\">\n    <template v-if=\"task\">\n      <div class=\"header\">\n        <VueIcon icon=\"assignment\" class=\"task-icon big\"/>\n        <div class=\"name\">{{ task.name }}</div>\n        <div\n          class=\"description\"\n          v-tooltip=\"$t(task.description)\"\n        >\n          {{ $t(task.description) }}\n        </div>\n        <div\n          class=\"command\"\n          v-tooltip=\"`${$t('org.vue.views.project-task-details.command')}:<br><code>${task.command}</code>`\"\n        >\n          {{ task.command }}\n        </div>\n      </div>\n\n      <div class=\"actions-bar\">\n        <div class=\"main-actions\">\n          <VueButton\n            v-if=\"task.status !== 'running'\"\n            icon-left=\"play_arrow\"\n            class=\"primary\"\n            :label=\"$t('org.vue.views.project-task-details.actions.play')\"\n            data-testid=\"run-task\"\n            @click=\"runTask()\"\n          />\n\n          <VueButton\n            v-else\n            icon-left=\"stop\"\n            class=\"primary\"\n            :label=\"$t('org.vue.views.project-task-details.actions.stop')\"\n            data-testid=\"stop-task\"\n            @click=\"stopTask()\"\n          />\n\n          <VueButton\n            slot=\"trigger\"\n            icon-left=\"settings\"\n            :disabled=\"task.status === 'running'\"\n            :label=\"$t('org.vue.views.project-task-details.parameters')\"\n            @click=\"showParameters = true\"\n          />\n\n          <VueButton\n            v-if=\"task.link\"\n            :href=\"task.link\"\n            target=\"_blank\"\n            icon-left=\"open_in_new\"\n            class=\"icon-button\"\n            v-tooltip=\"$t('org.vue.views.project-task-details.more-info')\"\n          />\n        </div>\n\n        <VueGroup\n          v-if=\"task.views.length\"\n          v-model=\"currentView\"\n          class=\"views\"\n        >\n          <VueGroupButton\n            :label=\"$t('org.vue.views.project-task-details.output')\"\n            icon-left=\"dvr\"\n            value=\"_output\"\n          />\n\n          <VueGroupButton\n            v-for=\"view of task.views\"\n            :key=\"view.id\"\n            :value=\"view.id\"\n            :icon-left=\"view.icon\"\n            :label=\"$t(view.label)\"\n          />\n        </VueGroup>\n      </div>\n\n      <div v-if=\"!defer(3)\" class=\"content placeholder-content\">\n        <div class=\"view card\"/>\n      </div>\n\n      <div v-else class=\"content\">\n        <TerminalView\n          ref=\"terminal\"\n          :class=\"{\n            ghost: currentView !== '_output'\n          }\"\n          :key=\"id\"\n          :cols=\"100\"\n          :rows=\"24\"\n          auto-size\n          :options=\"{\n            scrollback: 5000,\n            disableStdin: true,\n            useFlowControl: true\n          }\"\n          :title=\"$t('org.vue.views.project-task-details.output')\"\n          toolbar\n          open-links\n          @clear=\"clearLogs()\"\n        />\n\n        <ClientAddonComponent\n          v-if=\"currentView !== '_output'\"\n          :name=\"currentViewComponent\"\n          :key=\"currentView\"\n          class=\"view\"\n        />\n      </div>\n    </template>\n\n    <VueModal\n      v-if=\"showParameters\"\n      :title=\"$t('org.vue.views.project-task-details.parameters')\"\n      class=\"medium anchor\"\n      @close=\"restoreParameters()\"\n    >\n      <div class=\"default-body\">\n        <PromptsList\n          :prompts=\"visiblePrompts\"\n          @answer=\"answerPrompt\"\n        />\n      </div>\n\n      <div slot=\"footer\" class=\"actions\">\n        <VueButton\n          class=\"primary big\"\n          :label=\"$t('org.vue.views.project-task-details.actions.save')\"\n          @click=\"saveParameters()\"\n        />\n      </div>\n    </VueModal>\n  </div>\n</template>\n\n<script>\nimport Prompts from '@/mixins/Prompts'\nimport Defer from '@/mixins/Defer'\n\nimport TASK from '@/graphql/task/task.gql'\nimport TASK_LOGS from '@/graphql/task/taskLogs.gql'\nimport TASK_RUN from '@/graphql/task/taskRun.gql'\nimport TASK_STOP from '@/graphql/task/taskStop.gql'\nimport TASK_LOGS_CLEAR from '@/graphql/task/taskLogsClear.gql'\nimport TASK_LOG_ADDED from '@/graphql/task/taskLogAdded.gql'\nimport TASK_OPEN from '@/graphql/task/taskOpen.gql'\nimport TASK_SAVE_PARAMETERS from '@/graphql/task/taskSaveParameters.gql'\nimport TASK_RESTORE_PARAMETERS from '@/graphql/task/taskRestoreParameters.gql'\n\nexport default {\n  name: 'ProjectTaskDetails',\n\n  provide () {\n    return {\n      TaskDetails: this\n    }\n  },\n\n  mixins: [\n    Prompts({\n      field: 'task',\n      query: TASK\n    }),\n    Defer()\n  ],\n\n  metaInfo () {\n    return {\n      title: this.task && `${this.task.name} - ${this.$t('org.vue.views.project-tasks.title')}`\n    }\n  },\n\n  props: {\n    id: {\n      type: String,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      task: null,\n      showParameters: false,\n      currentView: '_output'\n    }\n  },\n\n  apollo: {\n    task: {\n      query: TASK,\n      variables () {\n        return {\n          id: this.id\n        }\n      },\n      async result ({ data, loading }) {\n        if (!this.$_init && !loading && data && data.task && data.task.defaultView) {\n          this.$_init = true\n          await this.$nextTick()\n          this.currentView = data.task.defaultView\n        }\n      },\n      skip () {\n        return !this.defer(2)\n      }\n    },\n\n    taskLogs: {\n      query: TASK_LOGS,\n      variables () {\n        return {\n          id: this.id\n        }\n      },\n      fetchPolicy: 'network-only',\n      manual: true,\n      async result ({ data, loading }) {\n        if (!loading) {\n          await this.$nextTick()\n          const terminal = this.$refs.terminal\n          if (terminal) {\n            data.taskLogs.logs.forEach(terminal.addLog)\n          }\n        }\n      },\n      skip () {\n        return !this.defer(3)\n      }\n    },\n\n    $subscribe: {\n      taskLogAdded: {\n        query: TASK_LOG_ADDED,\n        variables () {\n          return {\n            id: this.id\n          }\n        },\n        async result ({ data }) {\n          if (data.taskLogAdded.taskId === this.id) {\n            await this.$nextTick()\n            const terminal = this.$refs.terminal\n            terminal.addLog(data.taskLogAdded)\n          }\n        },\n        skip () {\n          return !this.defer(3)\n        }\n      }\n    }\n  },\n\n  computed: {\n    currentViewComponent () {\n      if (this.currentView !== '_output') {\n        const view = this.task.views.find(\n          view => view.id === this.currentView\n        )\n        if (view) {\n          const id = view.component\n          return id\n        }\n      }\n      return null\n    }\n  },\n\n  watch: {\n    id () {\n      this.showParameters = false\n      this.currentView = '_output'\n      this.$_init = false\n      this.open()\n      this.runDisplayPriority()\n    }\n  },\n\n  mounted () {\n    this.open()\n  },\n\n  methods: {\n    open () {\n      this.$apollo.mutate({\n        mutation: TASK_OPEN,\n        variables: {\n          id: this.id\n        }\n      })\n    },\n\n    runTask () {\n      this.$apollo.mutate({\n        mutation: TASK_RUN,\n        variables: {\n          id: this.id\n        }\n      })\n    },\n\n    stopTask () {\n      this.$apollo.mutate({\n        mutation: TASK_STOP,\n        variables: {\n          id: this.id\n        }\n      })\n    },\n\n    clearLogs () {\n      this.$apollo.mutate({\n        mutation: TASK_LOGS_CLEAR,\n        variables: {\n          id: this.id\n        }\n      })\n    },\n\n    async saveParameters () {\n      await this.$apollo.mutate({\n        mutation: TASK_SAVE_PARAMETERS,\n        variables: {\n          id: this.id\n        }\n      })\n      this.showParameters = false\n    },\n\n    async restoreParameters () {\n      await this.$apollo.mutate({\n        mutation: TASK_RESTORE_PARAMETERS,\n        variables: {\n          id: this.id\n        }\n      })\n      this.showParameters = false\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-task-details\n  v-box()\n  align-items stretch\n  height 100%\n\n@media (max-width: 1250px)\n  .actions-bar\n    flex-direction column\n\n  .views\n    margin-top $padding-item\n\n.command\n  flex 1\n  font-family $font-mono\n  font-size 12px\n  background rgba($vue-ui-color-primary, .2)\n  color $vue-ui-color-dark\n  padding 10px 16px\n  height 32px\n  border-radius $br\n  ellipsis()\n  box-sizing border-box\n  .vue-ui-dark-mode &\n    background $vue-ui-color-dark\n    color $vue-ui-color-light\n\n.content\n  flex auto 1 1\n  height 0\n  margin 0 $padding-item $padding-item\n  position relative\n\n.placeholder-content .view,\n.terminal-view\n  position absolute\n  top 0\n  left 0\n  width 100%\n  height 100%\n  border-radius $br\n  &.ghost\n    opacity 0\n    pointer-events none\n\n.view\n  max-height 100%\n  overflow-x hidden\n  overflow-y auto\n\n.header\n  padding $padding-item $padding-item 0\n  h-box()\n  align-items center\n\n  .task-icon\n    margin-right 4px\n    >>> svg\n      fill $vue-ui-color-dark\n      .vue-ui-dark-mode &\n        fill $vue-ui-color-light-neutral\n\n  .name\n    font-size 22px\n    color $vue-ui-color-dark\n    position relative\n    top -1px\n    .vue-ui-dark-mode &\n      color $vue-ui-color-light-neutral\n\n  .description\n    flex 1\n    color $color-text-light\n    margin 0 $padding-item\n    ellipsis()\n\n.main-actions\n  flex 1\n\n  /deep/ > *\n    &:not(:last-child)\n      margin-right $padding-item\n\n.task-settings\n  padding $padding-item\n  box-sizing border-box\n  width 700px\n  .prompts\n    max-height 500px\n    overflow-y auto\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTaskDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTaskDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectTaskDetails.vue?vue&type=template&id=074b7efc&scoped=true&\"\nimport script from \"./ProjectTaskDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectTaskDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectTaskDetails.vue?vue&type=style&index=0&id=074b7efc&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"074b7efc\",\n  null\n  \n)\n\nexport default component.exports","var map = {\n\t\"./_lib/build_formatting_tokens_reg_exp/index.js\": \"b224\",\n\t\"./ar/build_distance_in_words_locale/index.js\": \"cd73\",\n\t\"./ar/build_format_locale/index.js\": \"33ee\",\n\t\"./ar/index.js\": \"094e\",\n\t\"./be/build_distance_in_words_locale/index.js\": \"4727\",\n\t\"./be/build_format_locale/index.js\": \"56af\",\n\t\"./be/index.js\": \"9ab7\",\n\t\"./bg/build_distance_in_words_locale/index.js\": \"7808\",\n\t\"./bg/build_format_locale/index.js\": \"5377\",\n\t\"./bg/index.js\": \"5067\",\n\t\"./ca/build_distance_in_words_locale/index.js\": \"f45b\",\n\t\"./ca/build_format_locale/index.js\": \"19ca\",\n\t\"./ca/index.js\": \"bd9b\",\n\t\"./cs/build_distance_in_words_locale/index.js\": \"44eb\",\n\t\"./cs/build_format_locale/index.js\": \"1b92\",\n\t\"./cs/index.js\": \"0667\",\n\t\"./da/build_distance_in_words_locale/index.js\": \"8c62\",\n\t\"./da/build_format_locale/index.js\": \"49f6\",\n\t\"./da/index.js\": \"a68d\",\n\t\"./de/build_distance_in_words_locale/index.js\": \"a954\",\n\t\"./de/build_format_locale/index.js\": \"8f9e\",\n\t\"./de/index.js\": \"779c\",\n\t\"./el/build_distance_in_words_locale/index.js\": \"bdc5\",\n\t\"./el/build_format_locale/index.js\": \"a0dd\",\n\t\"./el/index.js\": \"894d\",\n\t\"./en/build_distance_in_words_locale/index.js\": \"640b\",\n\t\"./en/build_format_locale/index.js\": \"1699\",\n\t\"./en/index.js\": \"25b0\",\n\t\"./eo/build_distance_in_words_locale/index.js\": \"9aee\",\n\t\"./eo/build_format_locale/index.js\": \"b547\",\n\t\"./eo/index.js\": \"8889\",\n\t\"./es/build_distance_in_words_locale/index.js\": \"889a\",\n\t\"./es/build_format_locale/index.js\": \"5902\",\n\t\"./es/index.js\": \"b3a9\",\n\t\"./fi/build_distance_in_words_locale/index.js\": \"5168\",\n\t\"./fi/build_format_locale/index.js\": \"0e20\",\n\t\"./fi/index.js\": \"f25a\",\n\t\"./fil/build_distance_in_words_locale/index.js\": \"93c2\",\n\t\"./fil/build_format_locale/index.js\": \"f7c6\",\n\t\"./fil/index.js\": \"af96\",\n\t\"./fr/build_distance_in_words_locale/index.js\": \"dfcf\",\n\t\"./fr/build_format_locale/index.js\": \"fd21\",\n\t\"./fr/index.js\": \"9ac7\",\n\t\"./hr/build_distance_in_words_locale/index.js\": \"e1f1\",\n\t\"./hr/build_format_locale/index.js\": \"d518\",\n\t\"./hr/index.js\": \"5d91\",\n\t\"./hu/build_distance_in_words_locale/index.js\": \"3d8e\",\n\t\"./hu/build_format_locale/index.js\": \"c702\",\n\t\"./hu/index.js\": \"24eb\",\n\t\"./id/build_distance_in_words_locale/index.js\": \"d719\",\n\t\"./id/build_format_locale/index.js\": \"e175\",\n\t\"./id/index.js\": \"f6ca\",\n\t\"./is/build_distance_in_words_locale/index.js\": \"15c2\",\n\t\"./is/build_format_locale/index.js\": \"4231\",\n\t\"./is/index.js\": \"4205\",\n\t\"./it/build_distance_in_words_locale/index.js\": \"b881\",\n\t\"./it/build_format_locale/index.js\": \"776b\",\n\t\"./it/index.js\": \"1798\",\n\t\"./ja/build_distance_in_words_locale/index.js\": \"72e6\",\n\t\"./ja/build_format_locale/index.js\": \"eea8\",\n\t\"./ja/index.js\": \"5526\",\n\t\"./ko/build_distance_in_words_locale/index.js\": \"9c9c\",\n\t\"./ko/build_format_locale/index.js\": \"3297\",\n\t\"./ko/index.js\": \"33a1\",\n\t\"./mk/build_distance_in_words_locale/index.js\": \"4b66\",\n\t\"./mk/build_format_locale/index.js\": \"b5a8\",\n\t\"./mk/index.js\": \"58a4\",\n\t\"./nb/build_distance_in_words_locale/index.js\": \"7b4d\",\n\t\"./nb/build_format_locale/index.js\": \"befb\",\n\t\"./nb/index.js\": \"2287\",\n\t\"./nl/build_distance_in_words_locale/index.js\": \"b7a4\",\n\t\"./nl/build_format_locale/index.js\": \"549a\",\n\t\"./nl/index.js\": \"94c3\",\n\t\"./pl/build_distance_in_words_locale/index.js\": \"0230\",\n\t\"./pl/build_format_locale/index.js\": \"684b\",\n\t\"./pl/index.js\": \"1ab9\",\n\t\"./pt/build_distance_in_words_locale/index.js\": \"a130\",\n\t\"./pt/build_format_locale/index.js\": \"9a37\",\n\t\"./pt/index.js\": \"c2ca\",\n\t\"./ro/build_distance_in_words_locale/index.js\": \"a84c\",\n\t\"./ro/build_format_locale/index.js\": \"cf53\",\n\t\"./ro/index.js\": \"3cf1\",\n\t\"./ru/build_distance_in_words_locale/index.js\": \"00ff\",\n\t\"./ru/build_format_locale/index.js\": \"511c\",\n\t\"./ru/index.js\": \"bb40\",\n\t\"./sk/build_distance_in_words_locale/index.js\": \"b2b3\",\n\t\"./sk/build_format_locale/index.js\": \"4c23\",\n\t\"./sk/index.js\": \"6fe3\",\n\t\"./sl/build_distance_in_words_locale/index.js\": \"133a\",\n\t\"./sl/build_format_locale/index.js\": \"ed23\",\n\t\"./sl/index.js\": \"b258\",\n\t\"./sr/build_distance_in_words_locale/index.js\": \"0152\",\n\t\"./sr/build_format_locale/index.js\": \"092c\",\n\t\"./sr/index.js\": \"ab9c\",\n\t\"./sv/build_distance_in_words_locale/index.js\": \"1b87\",\n\t\"./sv/build_format_locale/index.js\": \"bbdb\",\n\t\"./sv/index.js\": \"5977\",\n\t\"./th/build_distance_in_words_locale/index.js\": \"50f9\",\n\t\"./th/build_format_locale/index.js\": \"b137\",\n\t\"./th/index.js\": \"a530\",\n\t\"./tr/build_distance_in_words_locale/index.js\": \"911e\",\n\t\"./tr/build_format_locale/index.js\": \"bdfc\",\n\t\"./tr/index.js\": \"2711\",\n\t\"./zh_cn/build_distance_in_words_locale/index.js\": \"c076\",\n\t\"./zh_cn/build_format_locale/index.js\": \"279c\",\n\t\"./zh_cn/index.js\": \"fd16\",\n\t\"./zh_tw/build_distance_in_words_locale/index.js\": \"e7f9\",\n\t\"./zh_tw/build_format_locale/index.js\": \"05ad\",\n\t\"./zh_tw/index.js\": \"3b32\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"b71a\";","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"widgets\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgets\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":80}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetFragment.gql\\\"\\n\\nquery widgets {\\n  widgets {\\n    ...widget\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgets\"] = oneQuery(doc, \"widgets\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav-list vue-ui-disable-scroll\"},[_c('div',{staticClass:\"content\"},[_vm._t(\"before\"),_vm._l((_vm.items),function(item){return _c('div',{key:item.id,on:{\"click\":function($event){_vm.currentRoute = item.route}}},[_vm._t(\"default\",null,{\"item\":item,\"selected\":item.route === _vm.currentRoute})],2)}),_vm._t(\"after\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"nav-list vue-ui-disable-scroll\">\n    <div class=\"content\">\n      <slot name=\"before\"/>\n\n      <div\n        v-for=\"item of items\"\n        :key=\"item.id\"\n        @click=\"currentRoute = item.route\"\n      >\n        <slot\n          :item=\"item\"\n          :selected=\"item.route === currentRoute\"\n        />\n      </div>\n\n      <slot name=\"after\"/>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { isSameRoute, isIncludedRoute } from '@/util/route'\n\nexport default {\n  props: {\n    items: {\n      type: Array,\n      required: true\n    }\n  },\n\n  computed: {\n    currentRoute: {\n      get () {\n        const currentRoute = this.$route\n        const item = this.items.find(\n          item => isIncludedRoute(currentRoute, this.$router.resolve(item.route).route)\n        )\n        return item && item.route\n      },\n      set (route) {\n        if (!isSameRoute(this.$route, route)) {\n          this.$router.push(route)\n        }\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.nav-list\n  overflow-x hidden\n  overflow-y auto\n  background $content-bg-list-light\n  .vue-ui-dark-mode &\n    background $content-bg-list-dark\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavList.vue?vue&type=template&id=4e81b1ea&scoped=true&\"\nimport script from \"./NavList.vue?vue&type=script&lang=js&\"\nexport * from \"./NavList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavList.vue?vue&type=style&index=0&id=4e81b1ea&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4e81b1ea\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerView.vue?vue&type=style&index=0&id=7cd2133d&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerView.vue?vue&type=style&index=0&id=7cd2133d&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Widget',{staticClass:\"widget-details-view\",attrs:{\"widget\":_vm.widget,\"shell-style\":{\n    left: ((this.dashboard.left + 8) + \"px\"),\n    top: ((this.dashboard.top + 8) + \"px\"),\n    width: ((this.dashboard.width) + \"px\"),\n    height: ((this.dashboard.height) + \"px\"),\n    transformOrigin: ((this.shellOrigin.x) + \"px \" + (this.shellOrigin.y) + \"px\")\n  },\"details\":\"\"},on:{\"close\":function($event){return _vm.close()}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <Widget\n    :widget=\"widget\"\n    :shell-style=\"{\n      left: `${this.dashboard.left + 8}px`,\n      top: `${this.dashboard.top + 8}px`,\n      width: `${this.dashboard.width}px`,\n      height: `${this.dashboard.height}px`,\n      transformOrigin: `${this.shellOrigin.x}px ${this.shellOrigin.y}px`\n    }\"\n    class=\"widget-details-view\"\n    details\n    @close=\"close()\"\n  />\n</template>\n\n<script>\nexport default {\n  inject: [\n    'dashboard'\n  ],\n\n  props: {\n    widget: {\n      type: Object,\n      required: true\n    },\n\n    shellOrigin: {\n      type: Object,\n      required: true\n    }\n  },\n\n  methods: {\n    close () {\n      this.$emit('close')\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.widget-details-view\n  /deep/ .shell\n    position fixed\n    z-index 50\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDetailsView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDetailsView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetDetailsView.vue?vue&type=template&id=0dc1b07a&scoped=true&\"\nimport script from \"./WidgetDetailsView.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetDetailsView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetDetailsView.vue?vue&type=style&index=0&id=0dc1b07a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0dc1b07a\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"viewChanged\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewChanged\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"view\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":91}};\n    doc.loc.source = {\"body\":\"#import \\\"./viewFragment.gql\\\"\\n\\nsubscription viewChanged {\\n  viewChanged {\\n    ...view\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./viewFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"viewChanged\"] = oneQuery(doc, \"viewChanged\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"tasks\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tasks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"task\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":72}};\n    doc.loc.source = {\"body\":\"#import \\\"./taskFragment.gql\\\"\\n\\nquery tasks {\\n  tasks {\\n    ...task\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./taskFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"tasks\"] = oneQuery(doc, \"tasks\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"connectedSet\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connectedSet\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":84}};\n    doc.loc.source = {\"body\":\"mutation connectedSet ($value: Boolean!) {\\n  connectedSet (value: $value) @client\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"connectedSet\"] = oneQuery(doc, \"connectedSet\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-diff\",class:{\n    new: _vm.fileDiff.new,\n    deleted: _vm.fileDiff.deleted\n  }},[_c('div',{staticClass:\"toolbar\",on:{\"click\":function($event){return _vm.$emit('update:collapsed', !_vm.collapsed)}}},[_c('VueIcon',{staticClass:\"file-icon\",attrs:{\"icon\":_vm.icon}}),(_vm.fileDiff.from !== _vm.fileDiff.to && !_vm.fileDiff.new)?[_c('div',{staticClass:\"name from-file\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.fileDiff.from),expression:\"fileDiff.from\"}]},[_vm._v(_vm._s(_vm.fileDiff.from))])]),(!_vm.fileDiff.deleted)?_c('VueIcon',{attrs:{\"icon\":\"arrow_forward\"}}):_vm._e()]:_vm._e(),(!_vm.fileDiff.deleted)?_c('div',{staticClass:\"name to-file\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.fileDiff.to),expression:\"fileDiff.to\"}]},[_vm._v(_vm._s(_vm.fileDiff.to))])]):_vm._e(),_c('div',{staticClass:\"vue-ui-spacer\"}),(!_vm.fileDiff.deleted)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.file-diff.actions.open')),expression:\"$t('org.vue.components.file-diff.actions.open')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"edit\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.openInEditor()}}}):_vm._e(),_c('VueButton',{staticClass:\"icon-button\",attrs:{\"icon-left\":_vm.collapsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}})],2),(!_vm.collapsed)?_c('div',{staticClass:\"content\"},[(_vm.fileDiff.binary)?_c('div',{staticClass:\"is-binary\"},[_c('VueIcon',{staticClass:\"icon\",attrs:{\"icon\":\"memory\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.file-diff.binary')))])],1):_vm._l((_vm.fileDiff.chunks),function(chunk,index){return _c('FileDiffChunk',{key:index,attrs:{\"chunk\":chunk}})})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    :class=\"{\n      new: fileDiff.new,\n      deleted: fileDiff.deleted\n    }\"\n    class=\"file-diff\"\n  >\n    <div class=\"toolbar\" @click=\"$emit('update:collapsed', !collapsed)\">\n      <VueIcon class=\"file-icon\" :icon=\"icon\"/>\n      <template v-if=\"fileDiff.from !== fileDiff.to && !fileDiff.new\">\n        <div class=\"name from-file\">\n          <span v-tooltip=\"fileDiff.from\">{{ fileDiff.from }}</span>\n        </div>\n        <VueIcon v-if=\"!fileDiff.deleted\" icon=\"arrow_forward\"/>\n      </template>\n      <div v-if=\"!fileDiff.deleted\" class=\"name to-file\">\n        <span v-tooltip=\"fileDiff.to\">{{ fileDiff.to }}</span>\n      </div>\n\n      <div class=\"vue-ui-spacer\"/>\n\n      <VueButton\n        v-if=\"!fileDiff.deleted\"\n        icon-left=\"edit\"\n        class=\"icon-button\"\n        v-tooltip=\"$t('org.vue.components.file-diff.actions.open')\"\n        @click.stop=\"openInEditor()\"\n      />\n\n      <VueButton\n        :icon-left=\"collapsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'\"\n        class=\"icon-button\"\n      />\n    </div>\n\n    <div v-if=\"!collapsed\" class=\"content\">\n      <div v-if=\"fileDiff.binary\" class=\"is-binary\">\n        <VueIcon icon=\"memory\" class=\"icon\"/>\n        <span>{{ $t('org.vue.components.file-diff.binary') }}</span>\n      </div>\n      <template v-else>\n        <FileDiffChunk\n          v-for=\"(chunk, index) in fileDiff.chunks\"\n          :key=\"index\"\n          :chunk=\"chunk\"\n        />\n      </template>\n    </div>\n  </div>\n</template>\n\n<script>\nimport FILE_OPEN_IN_EDITOR from '@/graphql/file/fileOpenInEditor.gql'\n\nexport default {\n  provide () {\n    const vm = this\n    return {\n      FileDiffInjection: {\n        get data () { return vm.fileDiff }\n      }\n    }\n  },\n\n  props: {\n    fileDiff: {\n      type: Object,\n      required: true\n    },\n\n    collapsed: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  computed: {\n    icon () {\n      if (this.fileDiff.new) {\n        return 'note_add'\n      } else if (this.fileDiff.deleted) {\n        return 'delete'\n      }\n      return 'insert_drive_file'\n    }\n  },\n\n  methods: {\n    openInEditor () {\n      this.$apollo.mutate({\n        mutation: FILE_OPEN_IN_EDITOR,\n        variables: {\n          input: {\n            file: this.fileDiff.to,\n            gitPath: true\n          }\n        }\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\nstatus-color($color)\n  .name\n    color $color\n  .file-icon\n    >>> svg\n      fill $color\n\n.file-diff\n  border solid 1px $vue-ui-color-light-neutral\n  margin $padding-item\n  .vue-ui-dark-mode &\n    border-color $vue-ui-color-dark\n\n  .toolbar\n    padding $padding-item\n    background $color-background-light\n    h-box()\n    align-items center\n    .vue-ui-dark-mode &\n      background $vue-ui-color-dark\n\n    >>> > *\n      space-between-x($padding-item)\n\n    .file-icon\n      >>> svg\n        fill darken($vue-ui-color-light-neutral, 20%)\n\n    .name\n      flex auto 1 0\n      font-family $font-mono\n      font-size 14px\n      font-weight bold\n      ellipsis()\n      &.from-file\n        text-decoration line-through\n      &.to-file\n        flex 100% 1 1\n        width 0\n\n  .is-binary\n    h-box()\n    box-center()\n    padding $padding-item\n    opacity .5\n\n    .icon\n      margin-right 4px\n\n  &.new\n    status-color($vue-ui-color-success)\n  &.deleted\n    status-color($vue-ui-color-danger)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileDiff.vue?vue&type=template&id=1bd7cf58&scoped=true&\"\nimport script from \"./FileDiff.vue?vue&type=script&lang=js&\"\nexport * from \"./FileDiff.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileDiff.vue?vue&type=style&index=0&id=1bd7cf58&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1bd7cf58\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-nav\",class:{\n    wide: _vm.$responsive.wide\n  }},[_c('div',{staticClass:\"header\"},[_c('ProjectQuickDropdown')],1),_c('div',{staticClass:\"content\"},[_c('VueGroup',{staticClass:\"vertical small-indicator left-indicator primary\",attrs:{\"indicator\":\"\"},model:{value:(_vm.currentViewName),callback:function ($$v) {_vm.currentViewName=$$v},expression:\"currentViewName\"}},_vm._l((_vm.views),function(view){return (_vm.hasProjectType(view))?_c('ViewNavButton',{key:view.id,attrs:{\"view\":view}}):_vm._e()}),1),_c('ViewNavMore')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"project-nav\"\n    :class=\"{\n      wide: $responsive.wide\n    }\"\n  >\n    <div class=\"header\">\n      <ProjectQuickDropdown/>\n    </div>\n\n    <div class=\"content\">\n      <VueGroup\n        v-model=\"currentViewName\"\n        class=\"vertical small-indicator left-indicator primary\"\n        indicator\n      >\n        <ViewNavButton\n          v-for=\"view of views\"\n          v-if=\"hasProjectType(view)\"\n          :key=\"view.id\"\n          :view=\"view\"\n        />\n      </VueGroup>\n\n      <ViewNavMore/>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { isSameRoute, isIncludedRoute } from '@/util/route'\n\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\nimport VIEWS from '@/graphql/view/views.gql'\nimport VIEW_ADDED from '@/graphql/view/viewAdded.gql'\nimport VIEW_REMOVED from '@/graphql/view/viewRemoved.gql'\nimport VIEW_CHANGED from '@/graphql/view/viewChanged.gql'\nimport VIEW_OPEN from '@/graphql/view/viewOpen.gql'\n\nexport default {\n  data () {\n    return {\n      views: []\n    }\n  },\n\n  apollo: {\n    projectCurrent: PROJECT_CURRENT,\n\n    views: {\n      query: VIEWS,\n      subscribeToMore: [\n        {\n          document: VIEW_ADDED,\n          updateQuery: (previousResult, { subscriptionData }) => {\n            const view = subscriptionData.data.viewAdded\n            if (!previousResult.views) {\n              return {\n                views: [view]\n              }\n            }\n            if (previousResult.views.find(r => r.id === view.id)) return previousResult\n            return {\n              views: [\n                ...previousResult.views,\n                view\n              ]\n            }\n          }\n        },\n        {\n          document: VIEW_REMOVED,\n          updateQuery: (previousResult, { subscriptionData }) => {\n            if (!previousResult.views) return { views: [] }\n            const index = previousResult.views.findIndex(r => r.id === subscriptionData.data.viewRemoved.id)\n            if (index === -1) return previousResult\n            const views = previousResult.views.slice()\n            views.splice(index, 1)\n            return {\n              views\n            }\n          }\n        },\n        {\n          document: VIEW_CHANGED,\n          updateQuery: (previousResult, { subscriptionData }) => {\n            const view = subscriptionData.data.viewChanged\n            if (!previousResult.views) {\n              return {\n                views: [view]\n              }\n            }\n            const index = previousResult.views.findIndex(r => r.id === view.id)\n            if (index === -1) return previousResult\n            const views = previousResult.views.slice()\n            views.splice(index, 1, view)\n            return {\n              views\n            }\n          }\n        }\n      ]\n    }\n  },\n\n  computed: {\n    currentView () {\n      const currentRoute = this.$route\n      return this.views.find(\n        item => isIncludedRoute(currentRoute, this.$router.resolve({ name: item.name }).route)\n      )\n    },\n\n    currentViewName: {\n      get () {\n        const view = this.currentView\n        return view && view.name\n      },\n      set (name) {\n        if (!isSameRoute(this.$route, this.$router.resolve({ name }).route)) {\n          this.$router.push({ name })\n        }\n      }\n    }\n  },\n\n  watch: {\n    currentView: {\n      handler (value, oldValue) {\n        if (!value) return\n        if (oldValue && value.id === oldValue.id) return\n\n        this.checkProjectType()\n        this.$apollo.mutate({\n          mutation: VIEW_OPEN,\n          variables: {\n            id: value.id\n          }\n        })\n      },\n      immediate: true\n    },\n\n    projectCurrent: {\n      handler: 'checkProjectType',\n      immediate: true\n    }\n  },\n\n  methods: {\n    hasProjectType (view) {\n      return (!view.projectTypes && this.projectCurrent.type === 'vue') ||\n        (view.projectTypes && view.projectTypes.includes(this.projectCurrent.type))\n    },\n\n    checkProjectType () {\n      if (!this.currentView) return\n\n      if (!this.hasProjectType(this.currentView)) {\n        const view = this.views.find(v => this.hasProjectType(v))\n        if (view) {\n          this.currentViewName = view.name\n        }\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-nav\n  background $vue-ui-color-light\n  box-shadow 2px 0 10px rgba(black, .1)\n  position relative\n  z-index 2\n  v-box()\n  .vue-ui-dark-mode &\n    background $vue-ui-color-darker\n\n  .header\n    padding $padding-item\n    display flex\n    .project-quick-dropdown\n      flex 1\n\n  .content\n    flex 1\n    v-box()\n    height 100%\n    padding 8px 0\n    box-sizing border-box\n\n    .vue-ui-group\n      flex auto 1 1\n      height 0\n      overflow hidden\n\n    >>> .indicator\n      justify-content flex-start\n      margin-left 4px\n\n      .content\n        width 6px\n        height @width !important\n        border-radius 50%\n        border none !important\n        background $vue-ui-color-primary\n\n    >>> .v-popover .trigger,\n    >>> .vue-ui-dropdown\n      display block !important\n\n    >>> .vue-ui-button\n      border-radius 0\n      padding-left 0\n      padding-right @padding-left\n      h-box()\n      box-center()\n      width 100%\n      &.selected\n        button-colors($vue-ui-color-primary, transparent)\n\n  &.wide\n    .content\n      >>> .vue-ui-button\n        justify-content flex-start\n        padding-left $padding-item\n        padding-right @padding-left\n        > .content\n          width 100%\n          text-align left\n          > .default-slot\n            flex auto 1 1\n            width 0\n            ellipsis()\n            padding 4px 0\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewNav.vue?vue&type=template&id=f2d3e1c4&scoped=true&\"\nimport script from \"./ViewNav.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewNav.vue?vue&type=style&index=0&id=f2d3e1c4&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f2d3e1c4\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProjectCreateInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectCreate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":142}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectFragment.gql\\\"\\n\\nmutation projectCreate ($input: ProjectCreateInput!) {\\n  projectCreate(input: $input) {\\n    ...project\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectCreate\"] = oneQuery(doc, \"projectCreate\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentView.vue?vue&type=style&index=0&id=18683bcf&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentView.vue?vue&type=style&index=0&id=18683bcf&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"configuration-tab\"},[_c('PromptsList',{attrs:{\"prompts\":_vm.visiblePrompts},on:{\"answer\":_vm.answerPrompt}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"configuration-tab\">\n    <PromptsList\n      :prompts=\"visiblePrompts\"\n      @answer=\"answerPrompt\"\n    />\n  </div>\n</template>\n\n<script>\nimport Prompts from '@/mixins/Prompts'\n\nimport CONFIGURATION from '@/graphql/configuration/configuration.gql'\n\nexport default {\n  mixins: [\n    Prompts({\n      field: 'tab',\n      query: CONFIGURATION,\n      variables () {\n        return {\n          id: this.configuration.id\n        }\n      },\n      updateQuery (data, prompts) {\n        const result = {}\n        for (const prompt of prompts) {\n          const list = result[prompt.tabId] || (result[prompt.tabId] = [])\n          list.push(prompt)\n        }\n        for (const tabId in result) {\n          data.configuration.tabs.find(t => t.id === tabId).prompts = result[tabId]\n        }\n      }\n    })\n  ],\n\n  props: {\n    configuration: {\n      type: Object,\n      required: true\n    },\n\n    tab: {\n      type: Object,\n      required: true\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigurationTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigurationTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigurationTab.vue?vue&type=template&id=3828750c&\"\nimport script from \"./ConfigurationTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigurationTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"folder-explorer-item\",class:{\n    hidden: _vm.props.folder.hidden\n  },on:{\"click\":function($event){return _vm.listeners.select()}}},[_c('VueIcon',{staticClass:\"folder-icon big\",attrs:{\"icon\":_vm.props.folder.isPackage ? 'folder' : 'folder_open'}}),_c('div',{staticClass:\"folder-name\"},[_vm._v(\" \"+_vm._s(_vm.props.folder.name)+\" \"),(_vm.props.folder.isVueProject)?_c('img',{staticClass:\"vue-ui-project-icon\",attrs:{\"src\":require(\"@/assets/logo.png\")}}):_vm._e()]),(_vm.props.folder.favorite)?_c('VueIcon',{staticClass:\"favorite-icon\",attrs:{\"icon\":\"star\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template functional>\n  <div\n    class=\"folder-explorer-item\"\n    :class=\"{\n      hidden: props.folder.hidden\n    }\"\n    @click=\"listeners.select()\"\n  >\n    <VueIcon\n      :icon=\"props.folder.isPackage ? 'folder' : 'folder_open'\"\n      class=\"folder-icon big\"\n    />\n    <div class=\"folder-name\">\n      {{ props.folder.name }}\n      <img\n        v-if=\"props.folder.isVueProject\"\n        class=\"vue-ui-project-icon\"\n        src=\"~@/assets/logo.png\"\n      >\n    </div>\n    <VueIcon\n      v-if=\"props.folder.favorite\"\n      icon=\"star\"\n      class=\"favorite-icon\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    folder: {\n      type: Object,\n      required: true\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.folder-explorer-item\n  padding $padding-item\n  h-box()\n  align-items center\n  user-select none\n  cursor pointer\n  position relative\n\n  &:hover\n    background rgba($vue-ui-color-primary, .1)\n\n  &.hidden\n    opacity .5\n\n  .folder-icon\n    margin 0 4px\n    >>> svg\n      fill $vue-ui-color-primary\n\n  .folder-name\n    flex 100% 1 1\n    margin-left $padding-item\n    ellipsis()\n\n  .vue-ui-project-icon\n    width 14px\n    height @width\n    vertical-align top\n    position relative\n    top 5px\n\n  .favorite-icon\n    >>> svg\n      fill $vue-ui-color-primary\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorerItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorerItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FolderExplorerItem.vue?vue&type=template&id=3200338a&scoped=true&functional=true&\"\nimport script from \"./FolderExplorerItem.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderExplorerItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderExplorerItem.vue?vue&type=style&index=0&id=3200338a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  true,\n  null,\n  \"3200338a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=style&index=0&id=7ba24086&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=style&index=0&id=7ba24086&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestion\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":95}};\n    doc.loc.source = {\"body\":\"#import \\\"./suggestionFragment.gql\\\"\\n\\nquery suggestions {\\n  suggestions {\\n    ...suggestion\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./suggestionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"suggestions\"] = oneQuery(doc, \"suggestions\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginsUpdate\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginsUpdate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":135}};\n    doc.loc.source = {\"body\":\"#import \\\"../version/versionFragment.gql\\\"\\n\\nmutation pluginsUpdate {\\n  pluginsUpdate {\\n    id\\n    version {\\n      ...version\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../version/versionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginsUpdate\"] = oneQuery(doc, \"pluginsUpdate\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Folder\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPackage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVueProject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"children\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPackage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVueProject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hidden\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":179}};\n    doc.loc.source = {\"body\":\"fragment folderCurrent on Folder {\\n  name\\n  path\\n  favorite\\n  isPackage\\n  isVueProject\\n  children {\\n    name\\n    path\\n    isPackage\\n    isVueProject\\n    hidden\\n    favorite\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"plugin\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Plugin\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"official\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"website\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":68}};\n    doc.loc.source = {\"body\":\"fragment plugin on Plugin {\\n  id\\n  official\\n  installed\\n  website\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"folder-explorer\",class:{\n    error: _vm.error\n  }},[_c('div',{staticClass:\"toolbar\"},[_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.folder-explorer.toolbar.tooltips.parent-folder')),expression:\"$t('org.vue.components.folder-explorer.toolbar.tooltips.parent-folder')\"}],staticClass:\"icon-button go-up\",attrs:{\"icon-left\":\"keyboard_arrow_up\"},on:{\"click\":_vm.openParentFolder}}),(_vm.editingPath)?_c('div',{staticClass:\"path-edit\"},[_c('VueInput',{directives:[{name:\"focus\",rawName:\"v-focus\"}],ref:\"pathInput\",staticClass:\"path-input\",attrs:{\"placeholder\":_vm.$t('org.vue.components.folder-explorer.toolbar.placeholder'),\"icon-right\":\"edit\"},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.editingPath = false},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submitPathEdit()}]},model:{value:(_vm.editedPath),callback:function ($$v) {_vm.editedPath=$$v},expression:\"editedPath\"}})],1):_c('ApolloQuery',{staticClass:\"current-path\",attrs:{\"query\":require('@/graphql/cwd/cwd.gql')},nativeOn:{\"dblclick\":function($event){return _vm.openPathEdit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n  var data = ref.result.data;\nreturn [(data)?_c('div',{staticClass:\"path-value\"},_vm._l((_vm.slicePath(data.cwd)),function(slice,index){return _c('div',{key:index,staticClass:\"path-part\"},[_c('VueButton',{staticClass:\"path-folder flat\",class:{\n                'icon-button': !slice.name\n              },attrs:{\"icon-left\":!slice.name ? 'folder' : null},on:{\"click\":function($event){return _vm.openFolder(slice.path)}}},[_vm._v(\" \"+_vm._s(slice.name)+\" \")])],1)}),0):_vm._e(),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.folder-explorer.toolbar.tooltips.edit-path')),expression:\"$t('org.vue.components.folder-explorer.toolbar.tooltips.edit-path')\"}],staticClass:\"edit-path-button icon-button\",attrs:{\"icon-left\":\"edit\"},on:{\"click\":function($event){return _vm.openPathEdit()}}})]}}])},[_c('ApolloSubscribeToMore',{attrs:{\"document\":require('@/graphql/cwd/cwdChanged.gql'),\"update-query\":_vm.cwdChangedUpdate}})],1),(_vm.error)?_c('VueIcon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.error.message),expression:\"error.message\"}],staticClass:\"error-icon big\",attrs:{\"icon\":\"error\"}}):_vm._e(),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.folder-explorer.toolbar.tooltips.refresh')),expression:\"$t('org.vue.components.folder-explorer.toolbar.tooltips.refresh')\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"refresh\"},on:{\"click\":_vm.refreshFolder}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.folder-explorer.toolbar.tooltips.favorite')),expression:\"$t('org.vue.components.folder-explorer.toolbar.tooltips.favorite')\"}],staticClass:\"icon-button favorite-button\",attrs:{\"icon-left\":_vm.folderCurrent.favorite ? 'star' : 'star_border'},on:{\"click\":function($event){return _vm.toggleFavorite()}}}),_c('VueDropdown',{attrs:{\"placement\":\"bottom-end\"}},[_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.folder-explorer.toolbar.tooltips.favorite-folders')),expression:\"$t('org.vue.components.folder-explorer.toolbar.tooltips.favorite-folders')\"}],staticClass:\"icon-button\",attrs:{\"slot\":\"trigger\",\"icon-left\":\"arrow_drop_down\"},slot:\"trigger\"}),(_vm.foldersFavorite.length)?_vm._l((_vm.foldersFavorite),function(folder){return _c('VueDropdownButton',{key:folder.path,attrs:{\"label\":folder.path,\"icon-left\":\"folder\"},on:{\"click\":function($event){return _vm.openFolder(folder.path)}}})}):_c('div',{staticClass:\"vue-ui-empty\"},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.folder-explorer.toolbar.empty'))+\" \")])],2),_c('VueDropdown',{attrs:{\"placement\":\"bottom-end\"}},[_c('VueButton',{staticClass:\"icon-button\",attrs:{\"slot\":\"trigger\",\"icon-left\":\"more_vert\"},slot:\"trigger\"}),_c('VueDropdownButton',{attrs:{\"label\":_vm.$t('org.vue.components.folder-explorer.new-folder.action'),\"icon-left\":\"create_new_folder\"},on:{\"click\":function($event){_vm.showNewFolder = true}}}),_c('VueSwitch',{staticClass:\"extend-left\",attrs:{\"icon\":\"visibility\"},model:{value:(_vm.showHidden),callback:function ($$v) {_vm.showHidden=$$v},expression:\"showHidden\"}},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.folder-explorer.toolbar.show-hidden'))+\" \")])],1)],1),_c('div',{ref:\"folders\",staticClass:\"folders\"},[_c('transition',{attrs:{\"name\":\"vue-ui-fade\"}},[(_vm.loading)?_c('VueLoadingBar',{staticClass:\"ghost primary\",attrs:{\"unknown\":\"\"}}):_vm._e()],1),(_vm.folderCurrent && _vm.folderCurrent.children)?_vm._l((_vm.folderCurrent.children),function(folder){return (_vm.showHidden || !folder.hidden)?_c('FolderExplorerItem',{key:folder.name,attrs:{\"folder\":folder},on:{\"select\":function($event){return _vm.openFolder(folder.path)}}}):_vm._e()}):_vm._e()],2),(_vm.showNewFolder)?_c('VueModal',{staticClass:\"small new-folder-modal\",attrs:{\"title\":_vm.$t('org.vue.components.folder-explorer.new-folder.title')},on:{\"close\":function($event){_vm.showNewFolder = false}}},[_c('div',{staticClass:\"default-body\"},[_c('VueFormField',{attrs:{\"title\":_vm.$t('org.vue.components.folder-explorer.new-folder.field.title'),\"subtitle\":_vm.$t('org.vue.components.folder-explorer.new-folder.field.subtitle')}},[_c('VueInput',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"icon-left\":\"folder\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.createFolder()}},model:{value:(_vm.newFolderName),callback:function ($$v) {_vm.newFolderName=$$v},expression:\"newFolderName\"}})],1)],1),_c('div',{staticClass:\"actions end\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"flat close\",attrs:{\"label\":_vm.$t('org.vue.components.folder-explorer.new-folder.cancel')},on:{\"click\":function($event){_vm.showNewFolder = false}}}),_c('VueButton',{staticClass:\"primary save\",attrs:{\"label\":_vm.$t('org.vue.components.folder-explorer.new-folder.create'),\"icon-left\":\"create_new_folder\",\"disabled\":!_vm.newFolderValid},on:{\"click\":function($event){return _vm.createFolder()}}})],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"folder-explorer\"\n    :class=\"{\n      error\n    }\"\n  >\n    <div class=\"toolbar\">\n      <VueButton\n        class=\"icon-button go-up\"\n        icon-left=\"keyboard_arrow_up\"\n        v-tooltip=\"$t('org.vue.components.folder-explorer.toolbar.tooltips.parent-folder')\"\n        @click=\"openParentFolder\"\n      />\n\n      <div v-if=\"editingPath\" class=\"path-edit\">\n        <VueInput\n          ref=\"pathInput\"\n          class=\"path-input\"\n          v-model=\"editedPath\"\n          :placeholder=\"$t('org.vue.components.folder-explorer.toolbar.placeholder')\"\n          icon-right=\"edit\"\n          v-focus\n          @keyup.esc=\"editingPath = false\"\n          @keyup.enter=\"submitPathEdit()\"\n        />\n      </div>\n\n      <ApolloQuery\n        v-else\n        :query=\"require('@/graphql/cwd/cwd.gql')\"\n        class=\"current-path\"\n        @dblclick.native=\"openPathEdit()\"\n      >\n        <ApolloSubscribeToMore\n          :document=\"require('@/graphql/cwd/cwdChanged.gql')\"\n          :update-query=\"cwdChangedUpdate\"\n        />\n\n        <template slot-scope=\"{ result: { data } }\">\n          <div\n            v-if=\"data\"\n            class=\"path-value\"\n          >\n            <div\n              v-for=\"(slice, index) of slicePath(data.cwd)\"\n              :key=\"index\"\n              class=\"path-part\"\n            >\n              <VueButton\n                class=\"path-folder flat\"\n                :icon-left=\"!slice.name ? 'folder' : null\"\n                :class=\"{\n                  'icon-button': !slice.name\n                }\"\n                @click=\"openFolder(slice.path)\"\n              >\n                {{ slice.name }}\n              </VueButton>\n            </div>\n          </div>\n          <VueButton\n            class=\"edit-path-button icon-button\"\n            icon-left=\"edit\"\n            v-tooltip=\"$t('org.vue.components.folder-explorer.toolbar.tooltips.edit-path')\"\n            @click=\"openPathEdit()\"\n          />\n        </template>\n      </ApolloQuery>\n\n      <VueIcon\n        v-if=\"error\"\n        icon=\"error\"\n        class=\"error-icon big\"\n        v-tooltip=\"error.message\"\n      />\n\n      <VueButton\n        class=\"icon-button\"\n        icon-left=\"refresh\"\n        v-tooltip=\"$t('org.vue.components.folder-explorer.toolbar.tooltips.refresh')\"\n        @click=\"refreshFolder\"\n      />\n\n      <VueButton\n        class=\"icon-button favorite-button\"\n        :icon-left=\"folderCurrent.favorite ? 'star' : 'star_border'\"\n        v-tooltip=\"$t('org.vue.components.folder-explorer.toolbar.tooltips.favorite')\"\n        @click=\"toggleFavorite()\"\n      />\n\n      <VueDropdown\n        placement=\"bottom-end\"\n      >\n        <VueButton\n          slot=\"trigger\"\n          icon-left=\"arrow_drop_down\"\n          class=\"icon-button\"\n          v-tooltip=\"$t('org.vue.components.folder-explorer.toolbar.tooltips.favorite-folders')\"\n        />\n\n        <template v-if=\"foldersFavorite.length\">\n          <VueDropdownButton\n            v-for=\"folder of foldersFavorite\"\n            :key=\"folder.path\"\n            :label=\"folder.path\"\n            icon-left=\"folder\"\n            @click=\"openFolder(folder.path)\"\n          />\n        </template>\n\n        <div v-else class=\"vue-ui-empty\">\n          {{ $t('org.vue.components.folder-explorer.toolbar.empty') }}\n        </div>\n      </VueDropdown>\n\n      <VueDropdown placement=\"bottom-end\">\n        <VueButton\n          slot=\"trigger\"\n          icon-left=\"more_vert\"\n          class=\"icon-button\"\n        />\n\n        <VueDropdownButton\n          :label=\"$t('org.vue.components.folder-explorer.new-folder.action')\"\n          icon-left=\"create_new_folder\"\n          @click=\"showNewFolder = true\"\n        />\n\n        <VueSwitch\n          icon=\"visibility\"\n          v-model=\"showHidden\"\n          class=\"extend-left\"\n        >\n          {{ $t('org.vue.components.folder-explorer.toolbar.show-hidden') }}\n        </VueSwitch>\n      </VueDropdown>\n    </div>\n\n    <div ref=\"folders\" class=\"folders\">\n      <transition name=\"vue-ui-fade\">\n        <VueLoadingBar\n          v-if=\"loading\"\n          class=\"ghost primary\"\n          unknown\n        />\n      </transition>\n      <template v-if=\"folderCurrent && folderCurrent.children\">\n        <FolderExplorerItem\n          v-for=\"folder of folderCurrent.children\"\n          v-if=\"showHidden || !folder.hidden\"\n          :key=\"folder.name\"\n          :folder=\"folder\"\n          @select=\"openFolder(folder.path)\"\n        />\n      </template>\n    </div>\n\n    <VueModal\n      v-if=\"showNewFolder\"\n      :title=\"$t('org.vue.components.folder-explorer.new-folder.title')\"\n      class=\"small new-folder-modal\"\n      @close=\"showNewFolder = false\"\n    >\n      <div class=\"default-body\">\n        <VueFormField\n          :title=\"$t('org.vue.components.folder-explorer.new-folder.field.title')\"\n          :subtitle=\"$t('org.vue.components.folder-explorer.new-folder.field.subtitle')\"\n        >\n          <VueInput\n            v-model=\"newFolderName\"\n            icon-left=\"folder\"\n            v-focus\n            @keyup.enter=\"createFolder()\"\n          />\n        </VueFormField>\n      </div>\n\n      <div slot=\"footer\" class=\"actions end\">\n        <VueButton\n          :label=\"$t('org.vue.components.folder-explorer.new-folder.cancel')\"\n          class=\"flat close\"\n          @click=\"showNewFolder = false\"\n        />\n\n        <VueButton\n          :label=\"$t('org.vue.components.folder-explorer.new-folder.create')\"\n          icon-left=\"create_new_folder\"\n          class=\"primary save\"\n          :disabled=\"!newFolderValid\"\n          @click=\"createFolder()\"\n        />\n      </div>\n    </VueModal>\n  </div>\n</template>\n\n<script>\nimport { isValidMultiName } from '@/util/folders'\n\nimport FOLDER_CURRENT from '@/graphql/folder/folderCurrent.gql'\nimport FOLDERS_FAVORITE from '@/graphql/folder/foldersFavorite.gql'\nimport FOLDER_OPEN from '@/graphql/folder/folderOpen.gql'\nimport FOLDER_OPEN_PARENT from '@/graphql/folder/folderOpenParent.gql'\nimport FOLDER_SET_FAVORITE from '@/graphql/folder/folderSetFavorite.gql'\nimport PROJECT_CWD_RESET from '@/graphql/project/projectCwdReset.gql'\nimport FOLDER_CREATE from '@/graphql/folder/folderCreate.gql'\n\nconst SHOW_HIDDEN = 'vue-ui.show-hidden-folders'\n\nexport default {\n  data () {\n    return {\n      loading: 0,\n      error: false,\n      editingPath: false,\n      editedPath: '',\n      folderCurrent: {},\n      foldersFavorite: [],\n      showHidden: localStorage.getItem(SHOW_HIDDEN) === 'true',\n      showNewFolder: false,\n      newFolderName: ''\n    }\n  },\n\n  apollo: {\n    folderCurrent: {\n      query: FOLDER_CURRENT,\n      fetchPolicy: 'network-only',\n      loadingKey: 'loading',\n      async result () {\n        await this.$nextTick()\n        this.$refs.folders.scrollTop = 0\n      }\n    },\n\n    foldersFavorite: FOLDERS_FAVORITE\n  },\n\n  computed: {\n    newFolderValid () {\n      return isValidMultiName(this.newFolderName)\n    }\n  },\n\n  watch: {\n    showHidden (value) {\n      if (value) {\n        localStorage.setItem(SHOW_HIDDEN, 'true')\n      } else {\n        localStorage.removeItem(SHOW_HIDDEN)\n      }\n    }\n  },\n\n  beforeRouteLeave (to, from, next) {\n    if (to.matched.some(m => m.meta.needProject)) {\n      this.resetProjectCwd()\n    }\n    next()\n  },\n\n  methods: {\n    async openFolder (path) {\n      this.editingPath = false\n      this.error = null\n      this.loading++\n      try {\n        await this.$apollo.mutate({\n          mutation: FOLDER_OPEN,\n          variables: {\n            path\n          },\n          update: (store, { data: { folderOpen } }) => {\n            store.writeQuery({ query: FOLDER_CURRENT, data: { folderCurrent: folderOpen } })\n          }\n        })\n      } catch (e) {\n        this.error = e\n      }\n      this.loading--\n    },\n\n    async openParentFolder (folder) {\n      this.editingPath = false\n      this.error = null\n      this.loading++\n      try {\n        await this.$apollo.mutate({\n          mutation: FOLDER_OPEN_PARENT,\n          update: (store, { data: { folderOpenParent } }) => {\n            store.writeQuery({ query: FOLDER_CURRENT, data: { folderCurrent: folderOpenParent } })\n          }\n        })\n      } catch (e) {\n        this.error = e\n      }\n      this.loading--\n    },\n\n    async toggleFavorite () {\n      await this.$apollo.mutate({\n        mutation: FOLDER_SET_FAVORITE,\n        variables: {\n          path: this.folderCurrent.path,\n          favorite: !this.folderCurrent.favorite\n        },\n        update: (store, { data: { folderSetFavorite } }) => {\n          store.writeQuery({ query: FOLDER_CURRENT, data: { folderCurrent: folderSetFavorite } })\n\n          let data = store.readQuery({ query: FOLDERS_FAVORITE })\n          // TODO this is a workaround\n          // See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473\n          data = {\n            foldersFavorite: data.foldersFavorite.slice()\n          }\n          if (folderSetFavorite.favorite) {\n            data.foldersFavorite.push(folderSetFavorite)\n          } else {\n            const index = data.foldersFavorite.findIndex(\n              f => f.path === folderSetFavorite.path\n            )\n            index !== -1 && data.foldersFavorite.splice(index, 1)\n          }\n          store.writeQuery({ query: FOLDERS_FAVORITE, data })\n        }\n      })\n    },\n\n    cwdChangedUpdate (previousResult, { subscriptionData }) {\n      return {\n        cwd: subscriptionData.data.cwd\n      }\n    },\n\n    async openPathEdit () {\n      this.editedPath = this.folderCurrent.path\n      this.editingPath = true\n      await this.$nextTick()\n      this.$refs.pathInput.focus()\n    },\n\n    submitPathEdit () {\n      this.openFolder(this.editedPath)\n    },\n\n    refreshFolder () {\n      this.openFolder(this.folderCurrent.path)\n    },\n\n    resetProjectCwd () {\n      this.$apollo.mutate({\n        mutation: PROJECT_CWD_RESET\n      })\n    },\n\n    slicePath (path) {\n      const parts = []\n      let startIndex = 0\n      let index\n\n      const findSeparator = () => {\n        index = path.indexOf('/', startIndex)\n        if (index === -1) index = path.indexOf('\\\\', startIndex)\n        return index !== -1\n      }\n\n      const addPart = index => {\n        const folder = path.substring(startIndex, index)\n        const slice = path.substring(0, index + 1)\n        parts.push({\n          name: folder,\n          path: slice\n        })\n      }\n\n      while (findSeparator()) {\n        addPart(index)\n        startIndex = index + 1\n      }\n\n      if (startIndex < path.length) addPart(path.length)\n\n      return parts\n    },\n\n    async createFolder () {\n      if (!this.newFolderValid) return\n\n      const result = await this.$apollo.mutate({\n        mutation: FOLDER_CREATE,\n        variables: {\n          name: this.newFolderName\n        }\n      })\n\n      this.openFolder(result.data.folderCreate.path)\n\n      this.newFolderName = ''\n      this.showNewFolder = false\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.toolbar\n  padding $padding-item 0\n  h-box()\n  align-items center\n\n  >>> > *\n    space-between-x($padding-item)\n\n.current-path\n  flex 100% 1 1\n  h-box()\n  align-items stretch\n  border-radius $br\n  background $vue-ui-color-light-neutral\n  .vue-ui-dark-mode &\n    background $vue-ui-color-dark\n\n  .path-value\n    flex auto 1 1\n    h-box()\n    align-items stretch\n\n  .path-part\n    &:not(:first-child)\n      border-left 2px solid\n      border-left-color $vue-ui-color-light\n      .vue-ui-dark-mode &\n        border-left-color $vue-ui-color-darker\n\n  .path-folder\n    padding 0 9px\n\n  .edit-path-button\n    margin-left 4px\n\n.path-edit\n  flex 100% 1 1\n  > .vue-ui-input\n    width 100%\n\n.favorite-button\n  margin-right 4px\n\n.error-icon\n  >>> svg\n    fill $vue-ui-color-danger\n\n.folder-explorer\n  v-box()\n  align-items stretch\n\n  .folders\n    flex 100% 1 1\n    overflow-x hidden\n    overflow-y auto\n    position relative\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderExplorer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FolderExplorer.vue?vue&type=template&id=4b6e946a&scoped=true&\"\nimport script from \"./FolderExplorer.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderExplorer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderExplorer.vue?vue&type=style&index=0&id=4b6e946a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4b6e946a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-dashboard page\",class:{\n    customizing: _vm.customizeMode,\n    'widget-details-shown': _vm.injected.isWidgetDetailsShown\n  }},[_c('ContentView',{attrs:{\"title\":_vm.$t('org.vue.views.project-dashboard.title')}},[_c('template',{slot:\"actions\"},[(!_vm.customizeMode)?_c('VueButton',{staticClass:\"primary round\",attrs:{\"icon-left\":\"edit\",\"label\":_vm.$t('org.vue.views.project-dashboard.cutomize')},on:{\"click\":function($event){_vm.customizeMode = true}}}):_c('VueButton',{staticClass:\"primary round\",attrs:{\"icon-left\":\"done\",\"label\":_vm.$t('org.vue.views.project-dashboard.done')},on:{\"click\":function($event){_vm.customizeMode = false}}})],1),_c('div',{staticClass:\"panes fill-height\"},[_c('ApolloQuery',{ref:\"widgets\",staticClass:\"widgets\",attrs:{\"query\":require('@/graphql/widget/widgets.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n  var ref_result = ref.result;\n  var data = ref_result.data;\n  var loading = ref_result.loading;\nreturn _c('div',{staticClass:\"widgets-wrapper\"},[(loading && (!data || !data.widgets))?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):(data)?_vm._l((data.widgets),function(widget){return _c('Widget',{key:widget.id,attrs:{\"widget\":widget,\"customize-mode\":_vm.customizeMode}})}):_vm._e()],2)}}])}),_c('transition',{attrs:{\"name\":\"sidepane\"}},[(_vm.customizeMode)?_c('WidgetAddPane',{on:{\"close\":function($event){_vm.customizeMode = false}}}):_vm._e()],1)],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function () {\n  // @vue/component\n  return {\n    mounted () {\n      window.addEventListener('resize', this.onWindowResize)\n      this.onWindowResize()\n    },\n\n    beforeDestroy () {\n      window.removeEventListener('resize', this.onWindowResize)\n    }\n  }\n}\n","<template>\n  <div\n    class=\"project-dashboard page\"\n    :class=\"{\n      customizing: customizeMode,\n      'widget-details-shown': injected.isWidgetDetailsShown\n    }\"\n  >\n    <ContentView\n      :title=\"$t('org.vue.views.project-dashboard.title')\"\n    >\n      <template slot=\"actions\">\n        <VueButton\n          v-if=\"!customizeMode\"\n          icon-left=\"edit\"\n          :label=\"$t('org.vue.views.project-dashboard.cutomize')\"\n          class=\"primary round\"\n          @click=\"customizeMode = true\"\n        />\n        <VueButton\n          v-else\n          icon-left=\"done\"\n          :label=\"$t('org.vue.views.project-dashboard.done')\"\n          class=\"primary round\"\n          @click=\"customizeMode = false\"\n        />\n      </template>\n\n      <div class=\"panes fill-height\">\n        <ApolloQuery\n          ref=\"widgets\"\n          :query=\"require('@/graphql/widget/widgets.gql')\"\n          class=\"widgets\"\n        >\n          <div\n            slot-scope=\"{ result: { data, loading } }\"\n            class=\"widgets-wrapper\"\n          >\n            <VueLoadingIndicator\n              v-if=\"loading && (!data || !data.widgets)\"\n              class=\"overlay\"\n            />\n\n            <template v-else-if=\"data\">\n              <Widget\n                v-for=\"widget of data.widgets\"\n                :key=\"widget.id\"\n                :widget=\"widget\"\n                :customize-mode=\"customizeMode\"\n              />\n            </template>\n          </div>\n        </ApolloQuery>\n\n        <transition name=\"sidepane\">\n          <WidgetAddPane\n            v-if=\"customizeMode\"\n            @close=\"customizeMode = false\"\n          />\n        </transition>\n      </div>\n    </ContentView>\n  </div>\n</template>\n\n<script>\nimport OnWindowResize from '@/mixins/OnWindowResize'\n\nconst PADDING = 8\n\nexport default {\n  provide () {\n    return {\n      dashboard: this.injected\n    }\n  },\n\n  mixins: [\n    OnWindowResize()\n  ],\n\n  metaInfo () {\n    return {\n      title: this.$t('org.vue.views.project-dashboard.title')\n    }\n  },\n\n  data () {\n    return {\n      customizeMode: false,\n      injected: {\n        width: 0,\n        height: 0,\n        left: 0,\n        top: 0,\n        isWidgetDetailsShown: false\n      }\n    }\n  },\n\n  methods: {\n    onWindowResize () {\n      const el = this.$refs.widgets.$el\n      if (!el) return\n      const bounds = el.getBoundingClientRect()\n      this.injected.width = bounds.width - PADDING * 2\n      this.injected.height = bounds.height - PADDING * 2\n      this.injected.left = bounds.left\n      this.injected.top = bounds.top\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.panes\n  h-box()\n\n.widgets\n  flex 1\n  overflow auto\n  padding ($padding-item / 2)\n  box-sizing border-box\n\n.widgets-wrapper\n  position relative\n  transform-origin top left\n  transition transform .15s\n\n.widget-add-pane\n  width 360px\n\n.customizing\n  .widgets-wrapper\n    transform scale(.7)\n\n.widget-details-shown\n  .widgets\n    overflow hidden\n  .widgets-wrapper > .widget /deep/ > .shell\n    opacity 0\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectDashboard.vue?vue&type=template&id=72cde023&scoped=true&\"\nimport script from \"./ProjectDashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectDashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectDashboard.vue?vue&type=style&index=0&id=72cde023&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"72cde023\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"taskOpen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskOpen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":53}};\n    doc.loc.source = {\"body\":\"mutation taskOpen ($id: ID!) {\\n  taskOpen (id: $id)\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskOpen\"] = oneQuery(doc, \"taskOpen\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionActivate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SuggestionActivate\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestionActivate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestion\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":158}};\n    doc.loc.source = {\"body\":\"#import \\\"./suggestionFragment.gql\\\"\\n\\nmutation suggestionActivate ($input: SuggestionActivate!) {\\n  suggestionActivate (input: $input) {\\n    ...suggestion\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./suggestionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"suggestionActivate\"] = oneQuery(doc, \"suggestionActivate\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Progress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"info\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"error\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"args\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":81}};\n    doc.loc.source = {\"body\":\"fragment progress on Progress {\\n  id\\n  status\\n  info\\n  error\\n  progress\\n  args\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"taskSaveParameters\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"taskSaveParameters\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":133}};\n    doc.loc.source = {\"body\":\"#import \\\"../prompt/promptFragment.gql\\\"\\n\\nmutation taskSaveParameters ($id: ID!) {\\n  taskSaveParameters (id: $id) {\\n    ...prompt\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"taskSaveParameters\"] = oneQuery(doc, \"taskSaveParameters\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error)?_c('div',{staticClass:\"prompt-error\"},[_c('div',{staticClass:\"vue-ui-text danger banner\"},[_c('VueIcon',{staticClass:\"big\",attrs:{\"icon\":\"warning\"}}),_c('span',[_vm._v(_vm._s(_vm.$t(_vm.error.message)))])],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"error\" class=\"prompt-error\">\n    <div class=\"vue-ui-text danger banner\">\n      <VueIcon icon=\"warning\" class=\"big\"/>\n      <span>{{ $t(error.message) }}</span>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    error: {\n      type: Object,\n      default: null\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.prompt-error\n  padding 0 $padding-item $padding-item\n\n  .banner\n    border-radius $br\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptError.vue?vue&type=template&id=34f8cb1e&scoped=true&\"\nimport script from \"./PromptError.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptError.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PromptError.vue?vue&type=style&index=0&id=34f8cb1e&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"34f8cb1e\",\n  null\n  \n)\n\nexport default component.exports","export default () => ({\n  connected: true,\n  loading: 0,\n  darkMode: false,\n  currentProjectId: null\n})\n","import LOADING from '@/graphql/loading/loading.gql'\n\nexport default {\n  Mutation: {\n    connectedSet: (root, { value }, { cache }) => {\n      const data = {\n        connected: value\n      }\n      cache.writeData({ data })\n      return null\n    },\n\n    loadingChange: (root, { mod }, { cache }) => {\n      const { loading } = cache.readQuery({ query: LOADING })\n      const data = {\n        loading: loading + mod\n      }\n      cache.writeData({ data })\n      return null\n    },\n\n    darkModeSet: (root, { enabled }, { cache }) => {\n      const data = {\n        darkMode: enabled\n      }\n      cache.writeData({ data })\n      const el = document.getElementsByTagName('html')[0]\n      if (enabled) {\n        el.classList.add('vue-ui-dark-mode')\n      } else {\n        el.classList.remove('vue-ui-dark-mode')\n      }\n      return null\n    },\n\n    currentProjectIdSet: (root, { projectId }, { cache }) => {\n      const data = {\n        currentProjectId: projectId\n      }\n      cache.writeData({ data })\n      return null\n    }\n  }\n}\n","import gql from 'graphql-tag'\n\nexport default gql`\nextend type Query {\n  connected: Boolean!\n  loading: Boolean!\n  darkMode: Boolean!\n  currentProjectId: String\n}\n\nextend type Mutation {\n  connectedSet (value: Boolean!): Boolean\n  loadingChange (mod: Int!): Boolean\n  darkModeSet (enabled: Boolean!): Boolean\n  currentProjectIdSet (projectId: String): Boolean\n}\n`\n","import Vue from 'vue'\nimport VueApollo from 'vue-apollo'\nimport { createApolloClient } from 'vue-cli-plugin-apollo/graphql-client'\nimport clientStateDefaults from './state/defaults'\nimport clientStateResolvers from './state/resolvers'\nimport clientStateTypeDefs from './state/typeDefs'\n// GraphQL documents\nimport PROJECT_CURRENT from './graphql/project/projectCurrent.gql'\nimport CURRENT_PROJECT_ID_SET from './graphql/project/currentProjectIdSet.gql'\nimport CONNECTED_SET from '@/graphql/connected/connectedSet.gql'\nimport LOADING_CHANGE from '@/graphql/loading/loadingChange.gql'\nimport DARK_MODE_SET from '@/graphql/dark-mode/darkModeSet.gql'\nimport { getForcedTheme } from './util/theme'\n\n// Install the vue plugin\nVue.use(VueApollo)\n\nlet endpoint = process.env.VUE_APP_CLI_UI_URL\nif (typeof endpoint === 'undefined') {\n  endpoint = `ws://localhost:${process.env.VUE_APP_GRAPHQL_PORT}/graphql`\n} else if (endpoint === '') {\n  endpoint = window.location.origin.replace('http', 'ws') + '/graphql'\n}\n\n// Config\nconst options = {\n  inMemoryCacheOptions: {},\n  wsEndpoint: endpoint,\n  persisting: false,\n  websocketsOnly: true,\n  typeDefs: clientStateTypeDefs,\n  resolvers: clientStateResolvers,\n  onCacheInit: cache => {\n    cache.writeData({ data: clientStateDefaults() })\n  }\n}\n\n// Create apollo client\nexport const { apolloClient, wsClient } = createApolloClient(options)\n\n// Create vue apollo provider\nexport const apolloProvider = new VueApollo({\n  defaultClient: apolloClient,\n  defaultOptions: {\n    $query: {\n      fetchPolicy: 'cache-and-network',\n      errorPolicy: 'all'\n    }\n  },\n  watchLoading (state, mod) {\n    apolloClient.mutate({\n      mutation: LOADING_CHANGE,\n      variables: {\n        mod\n      }\n    })\n  },\n  errorHandler (error) {\n    console.log('%cAn error occurred', 'background: red; color: white; padding: 4px; border-radius: 4px;font-weight: bold;')\n    console.log(error.message)\n    if (error.graphQLErrors) {\n      console.log(error.graphQLErrors)\n    }\n    if (error.networkError) {\n      console.log(error.networkError)\n    }\n  }\n})\n\nexport async function resetApollo () {\n  console.log('[UI] Apollo store reset')\n\n  const { data: { projectCurrent } } = await apolloClient.query({\n    query: PROJECT_CURRENT,\n    fetchPolicy: 'network-only'\n  })\n  const projectId = projectCurrent.id\n\n  try {\n    await apolloClient.resetStore()\n  } catch (e) {\n    // Potential errors\n  }\n\n  await apolloClient.mutate({\n    mutation: CURRENT_PROJECT_ID_SET,\n    variables: {\n      projectId\n    }\n  })\n\n  loadDarkMode()\n}\n\n/* Connected state */\n\nfunction setConnected (value) {\n  apolloClient.mutate({\n    mutation: CONNECTED_SET,\n    variables: {\n      value\n    }\n  })\n}\n\nwsClient.on('connected', () => setConnected(true))\nwsClient.on('reconnected', async () => {\n  await resetApollo()\n  setConnected(true)\n})\n// Offline\nwsClient.on('disconnected', () => setConnected(false))\nwsClient.on('error', () => setConnected(false))\n\n/* Dark mode */\n\nfunction loadDarkMode () {\n  let enabled, forcedTheme\n  if ((forcedTheme = getForcedTheme())) {\n    enabled = forcedTheme === 'dark'\n  } else {\n    const raw = localStorage.getItem('vue-ui-dark-mode')\n    enabled = raw === 'true'\n  }\n  apolloClient.mutate({\n    mutation: DARK_MODE_SET,\n    variables: {\n      enabled\n    }\n  })\n}\n\nloadDarkMode()\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-loading\"},[_c('transition',{attrs:{\"name\":\"vue-ui-fade\",\"appear\":\"\"}},[(_vm.loading)?_c('VueLoadingIndicator',{staticClass:\"primary\"}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"app-loading\">\n    <transition name=\"vue-ui-fade\" appear>\n      <VueLoadingIndicator\n        v-if=\"loading\"\n        class=\"primary\"\n      />\n    </transition>\n  </div>\n</template>\n\n<script>\nimport LOADING from '@/graphql/loading/loading.gql'\n\nexport default {\n  apollo: {\n    loading: {\n      query: LOADING,\n      fetchPolicy: 'cache-only'\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLoading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLoading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppLoading.vue?vue&type=template&id=78b5bdd9&\"\nimport script from \"./AppLoading.vue?vue&type=script&lang=js&\"\nexport * from \"./AppLoading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptError.vue?vue&type=style&index=0&id=34f8cb1e&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptError.vue?vue&type=style&index=0&id=34f8cb1e&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencyDetails\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"dependencyDetails\"},\"name\":{\"kind\":\"Name\",\"value\":\"dependency\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":189}};\n    doc.loc.source = {\"body\":\"#import \\\"../version/versionFragment.gql\\\"\\n\\nquery dependencyDetails ($id: ID!) {\\n  dependencyDetails: dependency (id: $id) {\\n    id\\n    version {\\n      ...version\\n    }\\n    description\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../version/versionFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"dependencyDetails\"] = oneQuery(doc, \"dependencyDetails\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInvoke\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInvoke\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":138}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginInstallationFragment.gql\\\"\\n\\nmutation pluginInvoke ($id: ID!) {\\n  pluginInvoke (id: $id) {\\n    ...pluginInstallation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginInstallationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginInvoke\"] = oneQuery(doc, \"pluginInvoke\");\n        \n","var map = {\n\t\"./app/About.vue\": \"3762\",\n\t\"./app/AppLoading.vue\": \"cac2\",\n\t\"./app/ConnectionStatus.vue\": \"e13e\",\n\t\"./app/LocaleLoader.vue\": \"d699\",\n\t\"./app/NotFound.vue\": \"424f\",\n\t\"./app/ProgressScreen.vue\": \"09ce\",\n\t\"./app/ProjectHome.vue\": \"a246\",\n\t\"./app/ProjectQuickDropdown.vue\": \"10d9\",\n\t\"./app/StatusBar.vue\": \"4b35\",\n\t\"./app/TopBar.vue\": \"ecbd\",\n\t\"./client-addon/ClientAddonComponent.vue\": \"1c85\",\n\t\"./client-addon/ClientAddonLoader.vue\": \"4630\",\n\t\"./configuration/ConfigurationItem.vue\": \"ec18\",\n\t\"./configuration/ConfigurationTab.vue\": \"c218\",\n\t\"./configuration/ProjectConfigurationDetails.vue\": \"42d8\",\n\t\"./configuration/ProjectConfigurations.vue\": \"8ccf\",\n\t\"./content/ContentView.vue\": \"2296\",\n\t\"./content/ItemLogo.vue\": \"d1f5\",\n\t\"./content/ListFilter.vue\": \"8ab3\",\n\t\"./content/ListItemInfo.vue\": \"26f5\",\n\t\"./content/ListSort.vue\": \"6a32\",\n\t\"./content/NavContent.vue\": \"dbfc\",\n\t\"./content/NavList.vue\": \"b822\",\n\t\"./content/StepWizard.vue\": \"a06e\",\n\t\"./content/TerminalView.vue\": \"fc80\",\n\t\"./dashboard/ProjectDashboard.vue\": \"c679\",\n\t\"./dashboard/Widget.vue\": \"e761\",\n\t\"./dashboard/WidgetAddItem.vue\": \"9a5b\",\n\t\"./dashboard/WidgetAddPane.vue\": \"0931\",\n\t\"./dashboard/WidgetDetailsView.vue\": \"bc63\",\n\t\"./dependency/NpmPackageSearch.vue\": \"55fd\",\n\t\"./dependency/PackageSearchItem.vue\": \"7b42\",\n\t\"./dependency/ProjectDependencies.vue\": \"01c2\",\n\t\"./dependency/ProjectDependencyItem.vue\": \"a9ab\",\n\t\"./file-diff/FileDiff.vue\": \"be46\",\n\t\"./file-diff/FileDiffChange.vue\": \"ad95\",\n\t\"./file-diff/FileDiffChunk.vue\": \"d17a\",\n\t\"./file-diff/FileDiffView.vue\": \"6618\",\n\t\"./folder/FolderExplorer.vue\": \"c615\",\n\t\"./folder/FolderExplorerItem.vue\": \"c2ac\",\n\t\"./logger/LoggerMessage.vue\": \"d44c\",\n\t\"./logger/LoggerView.vue\": \"944bd\",\n\t\"./plugin/ProjectPluginAddLocal.vue\": \"00b3\",\n\t\"./plugin/ProjectPluginItem.vue\": \"decf\",\n\t\"./plugin/ProjectPlugins.vue\": \"36d4\",\n\t\"./plugin/ProjectPluginsAdd.vue\": \"6578\",\n\t\"./project-create/ProjectCreate.vue\": \"a1bf\",\n\t\"./project-create/ProjectFeatureItem.vue\": \"1ad8\",\n\t\"./project-create/ProjectPresetItem.vue\": \"1be5\",\n\t\"./project-manager/ProjectRename.vue\": \"3526\",\n\t\"./project-manager/ProjectSelect.vue\": \"47b6\",\n\t\"./project-manager/ProjectSelectList.vue\": \"ff93\",\n\t\"./project-manager/ProjectSelectListItem.vue\": \"9a93\",\n\t\"./project-manager/ProjectTasksDropdown.vue\": \"3ae3\",\n\t\"./prompt/Prompt.vue\": \"5c0d\",\n\t\"./prompt/PromptCheckbox.vue\": \"50c1\",\n\t\"./prompt/PromptColor.vue\": \"744c\",\n\t\"./prompt/PromptConfirm.vue\": \"2674\",\n\t\"./prompt/PromptEditor.vue\": \"fb10\",\n\t\"./prompt/PromptError.vue\": \"ca27\",\n\t\"./prompt/PromptInput.vue\": \"d2c1\",\n\t\"./prompt/PromptList.vue\": \"a667\",\n\t\"./prompt/PromptsList.vue\": \"b338\",\n\t\"./search/InstantSearchInput.vue\": \"7a6e\",\n\t\"./search/InstantSearchPagination.vue\": \"3ccc\",\n\t\"./suggestion/SuggestionBar.vue\": \"5753\",\n\t\"./suggestion/SuggestionBarItem.vue\": \"dab5\",\n\t\"./suggestion/SuggestionBarList.vue\": \"4e95\",\n\t\"./task/ProjectTaskDetails.vue\": \"b620\",\n\t\"./task/ProjectTasks.vue\": \"42c8\",\n\t\"./task/TaskItem.vue\": \"af4b\",\n\t\"./view/ViewBadge.vue\": \"b2e9\",\n\t\"./view/ViewNav.vue\": \"be98\",\n\t\"./view/ViewNavButton.vue\": \"0395\",\n\t\"./view/ViewNavMore.vue\": \"9a76\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"ccc2\";","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"plugins\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"plugins\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"plugin\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":80}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginFragment.gql\\\"\\n\\nquery plugins {\\n  plugins {\\n    ...plugin\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"plugins\"] = oneQuery(doc, \"plugins\");\n        \n","module.exports = \"data:image/png;base64,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\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavList.vue?vue&type=style&index=0&id=4e81b1ea&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavList.vue?vue&type=style&index=0&id=4e81b1ea&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencyItem.vue?vue&type=style&index=0&id=c7b4d70c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDependencyItem.vue?vue&type=style&index=0&id=c7b4d70c&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDetailsView.vue?vue&type=style&index=0&id=0dc1b07a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDetailsView.vue?vue&type=style&index=0&id=0dc1b07a&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-diff-chunk\"},[_c('div',{staticClass:\"changes\"},_vm._l((_vm.chunk.changes),function(change,index){return _c('FileDiffChange',{key:index,attrs:{\"change\":change}})}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"file-diff-chunk\">\n    <div class=\"changes\">\n      <FileDiffChange\n        v-for=\"(change, index) of chunk.changes\"\n        :key=\"index\"\n        :change=\"change\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    chunk: {\n      type: Object,\n      required: true\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.file-diff-chunk\n  .changes\n    overflow-x auto\n    display grid\n    grid-template-column 1fr\n\n  &:not(:last-child)\n    &::after\n      content '•••'\n      height 44px\n      background $md-grey-100\n      h-box()\n      box-center()\n      color $md-grey-300\n      letter-spacing 4px\n      .vue-ui-dark-mode &\n        background lighten($vue-ui-color-darker, 1%)\n        color $vue-ui-color-dark-neutral\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChunk.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiffChunk.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileDiffChunk.vue?vue&type=template&id=2db99afb&scoped=true&\"\nimport script from \"./FileDiffChunk.vue?vue&type=script&lang=js&\"\nexport * from \"./FileDiffChunk.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileDiffChunk.vue?vue&type=style&index=0&id=2db99afb&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2db99afb\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-logo\",class:{\n    selected: _vm.selected,\n    loaded: _vm.loaded,\n    error: _vm.error,\n    vuejs: _vm.image && _vm.image.includes('vuejs')\n  }},[_c('div',{staticClass:\"wrapper\"},[(_vm.selected)?_c('VueIcon',{attrs:{\"icon\":\"done\"}}):(_vm.displayImage)?_c('img',{key:_vm.imageUrl,staticClass:\"image\",attrs:{\"src\":_vm.imageUrl},on:{\"load\":function($event){_vm.loaded = true},\"error\":function($event){_vm.error = true}}}):_c('VueIcon',{attrs:{\"icon\":_vm.error || !_vm.image ? _vm.fallbackIcon : _vm.image}})],1),(_vm.displayImage && _vm.colorBullet)?_c('div',{staticClass:\"color-bullet\"}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"item-logo\"\n    :class=\"{\n      selected,\n      loaded,\n      error,\n      vuejs: image && image.includes('vuejs')\n    }\"\n  >\n    <div class=\"wrapper\">\n      <VueIcon\n        v-if=\"selected\"\n        icon=\"done\"\n      />\n      <img\n        v-else-if=\"displayImage\"\n        class=\"image\"\n        :src=\"imageUrl\"\n        :key=\"imageUrl\"\n        @load=\"loaded = true\"\n        @error=\"error = true\"\n      >\n      <VueIcon\n        v-else\n        :icon=\"error || !image ? fallbackIcon : image\"\n      />\n    </div>\n\n    <div\n      v-if=\"displayImage && colorBullet\"\n      class=\"color-bullet\"\n    />\n  </div>\n</template>\n\n<script>\nimport { getImageUrl } from '@/util/image'\n\nexport default {\n  props: {\n    image: {\n      type: String,\n      default: 'widgets'\n    },\n\n    fallbackIcon: {\n      type: String,\n      default: 'image'\n    },\n\n    selected: {\n      type: Boolean,\n      default: false\n    },\n\n    colorBullet: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  data () {\n    return {\n      loaded: false,\n      error: false\n    }\n  },\n\n  computed: {\n    isMaterialIcon () {\n      return /^[a-z0-9_]+$/.test(this.image)\n    },\n\n    displayImage () {\n      return !this.isMaterialIcon && !this.error\n    },\n\n    imageUrl () {\n      return getImageUrl(this.image)\n    }\n  },\n\n  watch: {\n    image: 'reset',\n    selected: 'reset'\n  },\n\n  methods: {\n    reset () {\n      this.loaded = false\n      this.error = false\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.item-logo\n  margin-right $padding-item\n  position relative\n  width 42px\n  height @width\n  .wrapper\n    h-box()\n    box-center()\n    width 100%\n    height @width\n    background rgba(black, .03)\n    border-radius 50%\n    overflow hidden\n    .vue-ui-dark-mode &\n      background rgba(white, .07)\n    .image\n      width 100%\n      height @width\n      transform scale(0)\n      border-radius 50%\n    .vue-ui-icon\n      width 24px\n      height @width\n      >>> svg\n        fill $color-text-light\n\n  .color-bullet\n    position absolute\n    width 8px\n    height @width\n    border-radius 50%\n    right -1px\n    bottom @right\n    background white\n    border solid 2px $vue-ui-color-light-neutral\n    visibility hidden\n    .vue-ui-dark-mode &\n      border-color $vue-ui-color-dark\n\n  &.vuejs\n    .wrapper\n      background lighten($vue-ui-color-primary, 70%)\n    .image\n      width 70%\n      height @width\n      position relative\n      top 3px\n      border-radius 0\n\n  &.identicon\n    filter brightness(90%) contrast(115%)\n    .vue-ui-dark-mode &\n      filter invert(100%) brightness(180%) contrast(70%)\n    .wrapper\n      background white\n    .image\n      width 60%\n      height @width\n      border-radius 0\n\n  &.loaded\n    .image\n      animation zoom .5s $ease\n      transform none\n\n  &.selected,\n  &.error\n    .wrapper\n      animation zoom .5s $ease\n\n  &.selected\n    .wrapper\n      background $vue-ui-color-primary\n      .vue-ui-icon\n        >>> svg\n          fill $vue-ui-color-light\n\n  &.danger\n    .vue-ui-icon\n      >>> svg\n        fill $vue-ui-color-danger\n    .color-bullet\n      visibility visible\n      background $vue-ui-color-danger\n  &.warning\n    .vue-ui-icon\n      >>> svg\n        fill $vue-ui-color-warning\n    .color-bullet\n      visibility visible\n      background $vue-ui-color-warning\n  &.info\n    .vue-ui-icon\n      >>> svg\n        fill $vue-ui-color-info\n    .color-bullet\n      visibility visible\n      background $vue-ui-color-info\n  &.success\n    .vue-ui-icon\n      >>> svg\n        fill $vue-ui-color-success\n\n@keyframes zoom\n  0%\n    transform scale(0)\n  100%\n    transform scale(1)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemLogo.vue?vue&type=template&id=9ee9675a&scoped=true&\"\nimport script from \"./ItemLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemLogo.vue?vue&type=style&index=0&id=9ee9675a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9ee9675a\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":80}};\n    doc.loc.source = {\"body\":\"#import \\\"./localeFragment.gql\\\"\\n\\nquery locales {\\n  locales {\\n    ...locale\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./localeFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"locales\"] = oneQuery(doc, \"locales\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDisable',{staticClass:\"prompt prompt-input\",attrs:{\"disabled\":!_vm.prompt.enabled}},[_c('div',{staticClass:\"prompt-content\"},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.prompt.message),\"description\":_vm.$t(_vm.prompt.description),\"link\":_vm.prompt.link}}),_c('div',{staticClass:\"prompt-input\"},[_c('VueInput',{attrs:{\"value\":_vm.value(_vm.prompt.value),\"type\":_vm.prompt.type === 'password' ? 'password' : 'text'},on:{\"update\":function (value) { return _vm.answer(value); }}})],1)],1),_c('PromptError',{attrs:{\"error\":_vm.prompt.error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDisable\n    :disabled=\"!prompt.enabled\"\n    class=\"prompt prompt-input\"\n  >\n    <div class=\"prompt-content\">\n      <ListItemInfo\n        :name=\"$t(prompt.message)\"\n        :description=\"$t(prompt.description)\"\n        :link=\"prompt.link\"\n      />\n\n      <div class=\"prompt-input\">\n        <VueInput\n          :value=\"value(prompt.value)\"\n          :type=\"prompt.type === 'password' ? 'password' : 'text'\"\n          @update=\"value => answer(value)\"\n        />\n      </div>\n    </div>\n\n    <PromptError :error=\"prompt.error\"/>\n  </VueDisable>\n</template>\n\n<script>\nimport Prompt from './Prompt'\n\nexport default {\n  extends: Prompt,\n\n  buffer: true\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptInput.vue?vue&type=template&id=266a40a9&\"\nimport script from \"./PromptInput.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"foldersFavorite\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"foldersFavorite\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":59}};\n    doc.loc.source = {\"body\":\"query foldersFavorite {\\n  foldersFavorite {\\n    path\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"foldersFavorite\"] = oneQuery(doc, \"foldersFavorite\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logger-message\",class:[\n    (\"type-\" + (_vm.message.type)),\n    {\n      'has-type': _vm.message.type !== 'log',\n      'has-tag': _vm.message.tag,\n      pre: _vm.pre\n    }\n  ]},[(_vm.message.type !== 'log')?_c('div',{staticClass:\"type\"},[_vm._v(_vm._s(_vm.message.type))]):_vm._e(),(_vm.message.tag)?_c('div',{staticClass:\"tag\"},[_vm._v(_vm._s(_vm.message.tag))]):_vm._e(),_c('div',{staticClass:\"message\",domProps:{\"innerHTML\":_vm._s(_vm.ansiColors(_vm.message.message))}}),_c('div',{staticClass:\"date\"},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.message.date)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"logger-message\"\n    :class=\"[\n      `type-${message.type}`,\n      {\n        'has-type': message.type !== 'log',\n        'has-tag': message.tag,\n        pre\n      }\n    ]\"\n  >\n    <div v-if=\"message.type !== 'log'\" class=\"type\">{{ message.type }}</div>\n    <div v-if=\"message.tag\" class=\"tag\">{{ message.tag }}</div>\n    <div class=\"message\" v-html=\"ansiColors(message.message)\"/>\n    <div class=\"date\">{{ message.date | date }}</div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    message: {\n      type: Object,\n      required: true\n    },\n\n    pre: {\n      type: Boolean,\n      default: false\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.logger-message\n  h-box()\n  align-items baseline\n  font-family $font-mono\n  box-sizing border-box\n  padding 2px 4px\n\n  .type,\n  .tag\n    padding 2px 6px\n    border-radius $br\n\n  .type\n    text-transform uppercase\n\n  &.type-warn\n    .type\n      background $vue-ui-color-warning\n      color $vue-ui-color-light\n  &.type-error\n    .type\n      background $vue-ui-color-danger\n      color $vue-ui-color-light\n  &.type-info\n    .type\n      background $vue-ui-color-info\n      color $vue-ui-color-light\n  &.type-done\n    .type\n      background $vue-ui-color-success\n      color $vue-ui-color-light\n\n  .tag\n    background lighten($vue-ui-color-dark, 60%)\n\n  &.has-type.has-tag\n    .type\n      border-top-right-radius 0\n      border-bottom-right-radius 0\n    .tag\n      border-top-left-radius 0\n      border-bottom-left-radius 0\n\n  .message\n    flex 100% 1 1\n    width 0\n    ellipsis()\n\n  &.has-type,\n  &.has-tag\n    .message\n      margin-left 12px\n\n  &.pre\n    .message\n      white-space pre-wrap\n\n  .date\n    opacity .5\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggerMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoggerMessage.vue?vue&type=template&id=927a788c&scoped=true&\"\nimport script from \"./LoggerMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./LoggerMessage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoggerMessage.vue?vue&type=style&index=0&id=927a788c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"927a788c\",\n  null\n  \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./LocaleLoader.vue?vue&type=script&lang=js&\"\nexport * from \"./LocaleLoader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\nimport { mergeLocale } from '@/i18n'\n\nimport LOCALES from '@/graphql/locale/locales.gql'\nimport LOCALE_ADDED from '@/graphql/locale/localeAdded.gql'\n\nexport default {\n  apollo: {\n    locales: {\n      query: LOCALES,\n      fetchPolicy: 'no-cache',\n      manual: true,\n      result ({ data: { locales } }) {\n        locales.forEach(this.loadLocale)\n      }\n    },\n\n    $subscribe: {\n      localeAdded: {\n        query: LOCALE_ADDED,\n        result ({ data }) {\n          this.loadLocale(data.localeAdded)\n        }\n      }\n    }\n  },\n\n  methods: {\n    loadLocale (locale) {\n      // eslint-disable-next-line no-console\n      console.log(`[UI] Locale ${locale.lang} updated with new strings`)\n      mergeLocale(locale.lang, locale.strings)\n    }\n  },\n\n  render () {\n    return null\n  }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleLoader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleLoader.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemInfo.vue?vue&type=style&index=0&id=4001a578&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemInfo.vue?vue&type=style&index=0&id=4001a578&lang=stylus&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/search-by-algolia.c962a407.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"set-size\",rawName:\"v-set-size\",value:('.wrapper'),expression:\"'.wrapper'\"}],staticClass:\"suggestion-bar-item\",class:{\n    ping: _vm.ping\n  },style:({\n    animationDelay: ((_vm.index * .5 + 1.5) + \"s\")\n  })},[_c('div',{staticClass:\"wrapper\"},[_c('VueDropdown',{staticClass:\"dropdown\",attrs:{\"disabled\":!_vm.suggestion.message && !_vm.suggestion.link,\"placement\":\"bottom-end\"}},[_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.suggestion-bar.suggestion')),expression:\"$t('org.vue.components.suggestion-bar.suggestion')\"}],staticClass:\"round\",attrs:{\"slot\":\"trigger\",\"label\":_vm.$t(_vm.suggestion.label),\"loading\":_vm.suggestion.busy},on:{\"click\":function($event){return _vm.onTriggerClick()}},slot:\"trigger\"}),_c('div',{staticClass:\"suggestion-details\"},[_c('div',{staticClass:\"info label\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.suggestion.label))+\" \")]),(_vm.suggestion.message)?_c('div',{staticClass:\"info message\",domProps:{\"innerHTML\":_vm._s(_vm.$t(_vm.suggestion.message))}}):_vm._e(),(_vm.suggestion.image)?_c('div',{staticClass:\"info image\"},[_c('img',{attrs:{\"src\":_vm.image,\"alt\":\"image\"}})]):_vm._e(),_c('div',{staticClass:\"actions-bar\"},[(_vm.suggestion.link)?_c('VueButton',{staticClass:\"flat\",attrs:{\"href\":_vm.suggestion.link,\"label\":_vm.$t('org.vue.components.list-item-info.more-info'),\"target\":\"_blank\",\"icon-right\":\"open_in_new\"}}):_vm._e(),_c('div',{staticClass:\"vue-ui-spacer\"}),_c('VueButton',{directives:[{name:\"close-popover\",rawName:\"v-close-popover\"}],attrs:{\"label\":_vm.$t('org.vue.components.suggestion-bar.modal.cancel'),\"icon-left\":\"close\"}}),_c('VueButton',{directives:[{name:\"close-popover\",rawName:\"v-close-popover\"}],staticClass:\"primary\",attrs:{\"label\":_vm.$t('org.vue.components.suggestion-bar.modal.continue'),\"icon-left\":\"done\"},on:{\"click\":function($event){return _vm.activate(_vm.suggestion)}}})],1)])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"suggestion-bar-item\"\n    :class=\"{\n      ping\n    }\"\n    :style=\"{\n      animationDelay: `${index * .5 + 1.5}s`\n    }\"\n    v-set-size=\"'.wrapper'\"\n  >\n    <div class=\"wrapper\">\n      <VueDropdown\n        :disabled=\"!suggestion.message && !suggestion.link\"\n        placement=\"bottom-end\"\n        class=\"dropdown\"\n      >\n        <VueButton\n          slot=\"trigger\"\n          :label=\"$t(suggestion.label)\"\n          :loading=\"suggestion.busy\"\n          class=\"round\"\n          v-tooltip=\"$t('org.vue.components.suggestion-bar.suggestion')\"\n          @click=\"onTriggerClick()\"\n        />\n\n        <div class=\"suggestion-details\">\n          <div class=\"info label\">\n            {{ $t(suggestion.label) }}\n          </div>\n\n          <div\n            v-if=\"suggestion.message\"\n            class=\"info message\"\n            v-html=\"$t(suggestion.message)\"\n          />\n\n          <div\n            v-if=\"suggestion.image\"\n            class=\"info image\"\n          >\n            <img :src=\"image\" alt=\"image\">\n          </div>\n\n          <div class=\"actions-bar\">\n            <VueButton\n              v-if=\"suggestion.link\"\n              :href=\"suggestion.link\"\n              :label=\"$t('org.vue.components.list-item-info.more-info')\"\n              target=\"_blank\"\n              class=\"flat\"\n              icon-right=\"open_in_new\"\n            />\n            <div class=\"vue-ui-spacer\"/>\n            <VueButton\n              :label=\"$t('org.vue.components.suggestion-bar.modal.cancel')\"\n              icon-left=\"close\"\n              v-close-popover\n            />\n            <VueButton\n              class=\"primary\"\n              :label=\"$t('org.vue.components.suggestion-bar.modal.continue')\"\n              icon-left=\"done\"\n              v-close-popover\n              @click=\"activate(suggestion)\"\n            />\n          </div>\n        </div>\n      </VueDropdown>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { getImageUrl } from '@/util/image'\n\nimport SUGGESTION_ACTIVATE from '@/graphql/suggestion/suggestionActivate.gql'\n\nexport default {\n  props: {\n    suggestion: {\n      type: Object,\n      required: true\n    },\n\n    index: {\n      type: Number,\n      default: -1\n    },\n\n    ping: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  computed: {\n    image () {\n      return getImageUrl(this.suggestion.image)\n    }\n  },\n\n  methods: {\n    onTriggerClick () {\n      if (!this.suggestion.message && !this.suggestion.link) {\n        this.activate(this.suggestion)\n      }\n    },\n\n    async activate (suggestion) {\n      if (suggestion.actionLink) {\n        const win = window.open(\n          suggestion.actionLink,\n          '_blank'\n        )\n        win.focus()\n      } else {\n        await this.$apollo.mutate({\n          mutation: SUGGESTION_ACTIVATE,\n          variables: {\n            input: {\n              id: suggestion.id\n            }\n          }\n        })\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.suggestion-details\n  padding ($padding-item * 2 - 8px) ($padding-item * 2)\n  box-sizing border-box\n  width 440px !important\n\n  .label\n    font-size 20px\n\n  .actions-bar\n    padding 0\n    margin-top ($padding-item * 3)\n\n  .info\n    &:not(:last-child)\n      margin-bottom $padding-item\n\n    &.image\n      >>> img\n        max-width 100%\n\n.suggestion-bar-item\n  margin-left $padding-item\n  h-box()\n  box-center()\n  .wrapper\n    width max-content\n    box-sizing border-box\n\n  &.ping:not(.suggestion-leave-active)\n    animation ping .5s ease-in-out\n\n.suggestion-enter-active,\n.suggestion-leave-active\n  transition all 1.5s $ease\n  >>> .vue-ui-button\n    transition all 1.5s $ease\n    .content\n      transition all .2s\n\n.suggestion-enter-active\n  >>> .vue-ui-button\n    .content\n      transition-delay .5s\n\n.suggestion-enter,\n.suggestion-leave-to\n  width 0 !important\n  opacity 0\n  margin-left 0\n  >>> .vue-ui-button\n    transform scale(0)\n    .content\n      opacity 0\n\n@keyframes ping\n  0%,\n  100%\n    transform none\n    filter none\n  25%\n    transform scale(1.1)\n    filter brightness(120%)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBarItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuggestionBarItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SuggestionBarItem.vue?vue&type=template&id=624b111e&scoped=true&\"\nimport script from \"./SuggestionBarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SuggestionBarItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SuggestionBarItem.vue?vue&type=style&index=0&id=624b111e&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"624b111e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav-content\"},[_c('NavList',{attrs:{\"items\":_vm.items},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._t(\"default\",null,null,props)]}}],null,true)},[_vm._t(\"before\",null,{\"slot\":\"before\"}),_vm._t(\"after\",null,{\"slot\":\"after\"})],2),_c('div',{staticClass:\"content vue-ui-disable-scroll\"},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"nav-content\">\n    <NavList\n      :items=\"items\"\n    >\n      <slot name=\"before\" slot=\"before\"/>\n\n      <template slot-scope=\"props\">\n        <slot v-bind=\"props\"/>\n      </template>\n\n      <slot name=\"after\" slot=\"after\"/>\n    </NavList>\n\n    <div class=\"content vue-ui-disable-scroll\">\n      <router-view/>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    items: {\n      type: Array,\n      required: true\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.nav-content\n  width 100%\n  height 100%\n  display grid\n  grid-template-columns 300px 1fr\n  grid-template-rows 1fr\n  grid-template-areas \"nav content\"\n  > .nav-list\n    grid-area nav\n  > .content\n    grid-area content\n    overflow-x hidden\n    overflow-y auto\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavContent.vue?vue&type=template&id=4f974f94&scoped=true&\"\nimport script from \"./NavContent.vue?vue&type=script&lang=js&\"\nexport * from \"./NavContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavContent.vue?vue&type=style&index=0&id=4f974f94&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4f974f94\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-plugin-item list-item\"},[_c('div',{staticClass:\"content\"},[(!_vm.visible)?_c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.visibilityChanged),expression:\"visibilityChanged\"}]}):_vm._e(),_c('ItemLogo',{attrs:{\"image\":_vm.pluginLogo && _vm.pluginLogo.logo,\"fallback-icon\":\"extension\"}}),_c('ListItemInfo',{attrs:{\"name\":_vm.plugin.id,\"link\":_vm.plugin.website,\"show-description\":\"\"}},[_c('span',{staticClass:\"plugin-description\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('span',{staticClass:\"info version\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-plugin-item.version')))]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.pluginDetails && _vm.pluginDetails.version.current))])]),_c('span',{staticClass:\"info latest\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('org.vue.components.project-plugin-item.latest')))]),(_vm.pluginDetails && _vm.pluginDetails.version.current !== _vm.pluginDetails.version.latest)?_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"warning\"}}):_vm._e(),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.pluginDetails && _vm.pluginDetails.version.latest))])],1),(_vm.plugin.official)?_c('span',{staticClass:\"info\"},[_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"star\"}}),_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.project-plugin-item.official'))+\" \")],1):_vm._e(),(_vm.plugin.installed)?_c('span',{staticClass:\"info\"},[(_vm.isLocal)?[_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"folder\"}}),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.pluginDetails.version.localPath),expression:\"pluginDetails.version.localPath\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.project-plugin-item.local'))+\" \")])]:[_c('VueIcon',{staticClass:\"top medium\",attrs:{\"icon\":\"check_circle\"}}),_vm._v(\" \"+_vm._s(_vm.$t('org.vue.components.project-plugin-item.installed'))+\" \")]],2):_vm._e(),(_vm.pluginDetails && _vm.pluginDetails.description)?_c('span',{staticClass:\"package-description\"},[_vm._v(\" \"+_vm._s(_vm.pluginDetails.description)+\" \")]):_vm._e()])]),(_vm.isLocal)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-plugin-item.actions.refresh', { target: _vm.plugin.id })),expression:\"$t('org.vue.components.project-plugin-item.actions.refresh', { target: plugin.id })\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"cached\",\"loading-left\":_vm.updating},on:{\"click\":function (e) { return _vm.updatePlugin(!e.shiftKey); }}}):(_vm.pluginDetails && _vm.pluginDetails.version.current !== _vm.pluginDetails.version.wanted)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.project-plugin-item.actions.update', { target: _vm.plugin.id })),expression:\"$t('org.vue.components.project-plugin-item.actions.update', { target: plugin.id })\"}],staticClass:\"icon-button\",attrs:{\"icon-left\":\"file_download\",\"loading-left\":_vm.updating},on:{\"click\":function($event){return _vm.updatePlugin()}}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-plugin-item list-item\">\n    <div class=\"content\">\n      <div\n        v-if=\"!visible\"\n        v-observe-visibility=\"visibilityChanged\"\n      />\n\n      <ItemLogo\n        :image=\"pluginLogo && pluginLogo.logo\"\n        fallback-icon=\"extension\"\n      />\n\n      <ListItemInfo\n        :name=\"plugin.id\"\n        :link=\"plugin.website\"\n        show-description\n      >\n        <span slot=\"description\" class=\"plugin-description\">\n          <span class=\"info version\">\n            <span class=\"label\">{{ $t('org.vue.components.project-plugin-item.version') }}</span>\n            <span class=\"value\">{{ pluginDetails && pluginDetails.version.current }}</span>\n          </span>\n\n          <span class=\"info latest\">\n            <span class=\"label\">{{ $t('org.vue.components.project-plugin-item.latest') }}</span>\n            <VueIcon\n              v-if=\"pluginDetails && pluginDetails.version.current !== pluginDetails.version.latest\"\n              icon=\"warning\"\n              class=\"top medium\"\n            />\n            <span class=\"value\">{{ pluginDetails && pluginDetails.version.latest }}</span>\n          </span>\n\n          <span v-if=\"plugin.official\" class=\"info\">\n            <VueIcon\n              icon=\"star\"\n              class=\"top medium\"\n            />\n            {{ $t('org.vue.components.project-plugin-item.official') }}\n          </span>\n\n          <span v-if=\"plugin.installed\" class=\"info\">\n            <template v-if=\"isLocal\">\n              <VueIcon\n                icon=\"folder\"\n                class=\"top medium\"\n              />\n              <span v-tooltip=\"pluginDetails.version.localPath\">\n                {{ $t('org.vue.components.project-plugin-item.local') }}\n              </span>\n            </template>\n            <template v-else>\n              <VueIcon\n                icon=\"check_circle\"\n                class=\"top medium\"\n              />\n              {{ $t('org.vue.components.project-plugin-item.installed') }}\n            </template>\n          </span>\n\n          <span v-if=\"pluginDetails && pluginDetails.description\" class=\"package-description\">\n            {{ pluginDetails.description }}\n          </span>\n        </span>\n      </ListItemInfo>\n\n      <VueButton\n        v-if=\"isLocal\"\n        icon-left=\"cached\"\n        class=\"icon-button\"\n        v-tooltip=\"$t('org.vue.components.project-plugin-item.actions.refresh', { target: plugin.id })\"\n        :loading-left=\"updating\"\n        @click=\"e => updatePlugin(!e.shiftKey)\"\n      />\n\n      <VueButton\n        v-else-if=\"pluginDetails && pluginDetails.version.current !== pluginDetails.version.wanted\"\n        icon-left=\"file_download\"\n        class=\"icon-button\"\n        v-tooltip=\"$t('org.vue.components.project-plugin-item.actions.update', { target: plugin.id })\"\n        :loading-left=\"updating\"\n        @click=\"updatePlugin()\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport PLUGIN_DETAILS from '@/graphql/plugin/pluginDetails.gql'\nimport PLUGIN_LOGO from '@/graphql/plugin/pluginLogo.gql'\nimport PLUGIN_UPDATE from '@/graphql/plugin/pluginUpdate.gql'\n\nexport default {\n  props: {\n    plugin: {\n      type: Object,\n      required: true\n    }\n  },\n\n  data () {\n    return {\n      pluginDetails: null,\n      pluginLogo: null,\n      updating: false,\n      visible: false\n    }\n  },\n\n  apollo: {\n    pluginDetails: {\n      query: PLUGIN_DETAILS,\n      variables () {\n        return {\n          id: this.plugin.id\n        }\n      },\n      skip () {\n        return !this.visible\n      }\n    },\n\n    pluginLogo: {\n      query: PLUGIN_LOGO,\n      variables () {\n        return {\n          id: this.plugin.id\n        }\n      }\n    }\n  },\n\n  computed: {\n    isLocal () {\n      return this.pluginDetails && this.pluginDetails.version.localPath\n    }\n  },\n\n  methods: {\n    async updatePlugin (full = true) {\n      this.updating = true\n      try {\n        this.$apollo.mutate({\n          mutation: PLUGIN_UPDATE,\n          variables: {\n            id: this.plugin.id,\n            full\n          }\n        })\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(e)\n      }\n      this.updating = false\n    },\n\n    visibilityChanged (isVisible) {\n      if (!this.visible) {\n        this.visible = isVisible\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-plugin-item\n  padding $padding-item\n  cursor default\n\n  .content\n    h-box()\n    box-center()\n\n  .list-item-info\n    flex 100% 1 1\n    width 0\n\n  .plugin-description\n    margin-right $padding-item\n\n  .label\n    opacity .7\n\n  .info\n    display inline-block\n    space-between-x($padding-item)\n    >>> > *\n      space-between-x(4px)\n\n  .description\n    height 21px\n\n  .version,\n  .latest\n    min-width 130px\n    .value\n      font-family monospace\n      font-size .9em\n\n  .package-description\n    font-style italic\n    opacity .7\n    display inline-block\n    max-width 300px\n    ellipsis()\n    position relative\n    top 4px\n\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPluginItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectPluginItem.vue?vue&type=template&id=9b84856a&scoped=true&\"\nimport script from \"./ProjectPluginItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectPluginItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectPluginItem.vue?vue&type=style&index=0&id=9b84856a&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9b84856a\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"featureSetEnabled\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"featureSetEnabled\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"feature\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":165}};\n    doc.loc.source = {\"body\":\"#import \\\"./featureFragment.gql\\\"\\n\\nmutation featureSetEnabled ($id: ID!, $enabled: Boolean!) {\\n  featureSetEnabled (id: $id, enabled: $enabled) {\\n    ...feature\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./featureFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"featureSetEnabled\"] = oneQuery(doc, \"featureSetEnabled\");\n        \n","let forcedTheme = null\n\n{\n  const result = /\\?theme=(\\w+)/.exec(window.location.href)\n  if (result) forcedTheme = result[1]\n}\n\nconsole.log('forced theme', forcedTheme)\n\nexport function getForcedTheme () {\n  return forcedTheme\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ApolloQuery',{staticClass:\"connection-status\",attrs:{\"query\":require('@/graphql/connected/connected.gql'),\"fetch-policy\":\"cache-only\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar connected = ref.result.data.connected;\nreturn [_c('transition',{attrs:{\"duration\":\"1000\"}},[(!connected)?_c('div',{staticClass:\"banner\"},[_c('div',{staticClass:\"content disconnected\"},[_c('VueIcon',{staticClass:\"medium\",attrs:{\"icon\":\"cloud_off\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.connection-status.disconnected')))])],1),_c('div',{staticClass:\"content connected\"},[_c('VueIcon',{staticClass:\"medium\",attrs:{\"icon\":\"wifi\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('org.vue.components.connection-status.connected')))])],1)]):_vm._e()])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ApolloQuery\n    :query=\"require('@/graphql/connected/connected.gql')\"\n    fetch-policy=\"cache-only\"\n    class=\"connection-status\"\n  >\n    <template slot-scope=\"{ result: { data: { connected } } }\">\n      <transition duration=\"1000\">\n        <div\n          v-if=\"!connected\"\n          class=\"banner\"\n        >\n          <div class=\"content disconnected\">\n            <VueIcon icon=\"cloud_off\" class=\"medium\"/>\n            <span>{{ $t('org.vue.components.connection-status.disconnected') }}</span>\n          </div>\n          <div class=\"content connected\">\n            <VueIcon icon=\"wifi\" class=\"medium\"/>\n            <span>{{ $t('org.vue.components.connection-status.connected') }}</span>\n          </div>\n        </div>\n      </transition>\n    </template>\n  </ApolloQuery>\n</template>\n\n<script>\nexport default {\n  clientState: true\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.content\n  display flex\n  align-items center\n  justify-content center\n  position absolute\n  top 0\n  left 0\n  width 100%\n  height 100%\n  z-index 90000\n\n.banner\n  background $vue-ui-color-danger\n  color $md-white\n  height 45px\n  position relative\n  .vue-ui-icon\n    margin-right $padding-item\n  >>> svg\n    fill @color\n\n  &.v-enter-active,\n  &.v-leave-active\n    overflow hidden\n  &.v-enter-active\n    transition height .15s ease-out\n    .vue-ui-icon\n      animation icon .5s\n  &.v-leave-active\n    transition height .15s .85s ease-out, background .15s\n    .disconnected\n      animation slide-to-bottom .15s forwards\n    .connected\n      animation slide-from-top .15s\n  &:not(.v-leave-active)\n    .connected\n      display none\n\n  &.v-enter,\n  &.v-leave-to\n    height 0\n  &.v-leave-to\n    background $vue-ui-color-success\n\n@keyframes icon\n  0%\n    transform scale(.8)\n    opacity 0\n  30%\n    transform scale(.8)\n    opacity 1\n  50%\n    transform scale(1.3)\n  100%\n    transform scale(1)\n\n@keyframes slide-to-bottom\n  0%\n    transform none\n    opacity 1\n  100%\n    transform translateY(45px)\n    opacity 0\n\n@keyframes slide-from-top\n  0%\n    transform translateY(-45px)\n    opacity 0\n  100%\n    transform none\n    opacity 1\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionStatus.vue?vue&type=template&id=7ba24086&scoped=true&\"\nimport script from \"./ConnectionStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConnectionStatus.vue?vue&type=style&index=0&id=7ba24086&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7ba24086\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"darkMode\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"darkMode\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":38}};\n    doc.loc.source = {\"body\":\"query darkMode {\\n  darkMode @client\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"darkMode\"] = oneQuery(doc, \"darkMode\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedDataUpdated\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedDataUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"sharedData\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":176}};\n    doc.loc.source = {\"body\":\"#import \\\"./sharedDataFragment.gql\\\"\\n\\nsubscription sharedDataUpdated ($id: ID!, $projectId: ID!) {\\n  sharedDataUpdated (id: $id, projectId: $projectId) {\\n    ...sharedData\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./sharedDataFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"sharedDataUpdated\"] = oneQuery(doc, \"sharedDataUpdated\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiff.vue?vue&type=style&index=0&id=1bd7cf58&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiff.vue?vue&type=style&index=0&id=1bd7cf58&lang=stylus&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepWizard.vue?vue&type=style&index=0&id=4f685358&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepWizard.vue?vue&type=style&index=0&id=4f685358&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddons\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddons\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"clientAddon\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":100}};\n    doc.loc.source = {\"body\":\"#import \\\"./clientAddonFragment.gql\\\"\\n\\nquery clientAddons {\\n  clientAddons {\\n    ...clientAddon\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./clientAddonFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"clientAddons\"] = oneQuery(doc, \"clientAddons\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectSetFavorite\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectSetFavorite\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorite\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":166}};\n    doc.loc.source = {\"body\":\"#import \\\"./projectFragment.gql\\\"\\n\\nmutation projectSetFavorite ($id: ID!, $favorite: Int!) {\\n  projectSetFavorite (id: $id, favorite: $favorite) {\\n    ...project\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./projectFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"projectSetFavorite\"] = oneQuery(doc, \"projectSetFavorite\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencies\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependencies\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"dependency\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":97}};\n    doc.loc.source = {\"body\":\"#import \\\"./dependencyFragment.gql\\\"\\n\\nquery dependencies {\\n  dependencies {\\n    ...dependency\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./dependencyFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"dependencies\"] = oneQuery(doc, \"dependencies\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Configuration\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"plugin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":108}};\n    doc.loc.source = {\"body\":\"fragment configuration on Configuration {\\n  id\\n  name\\n  description\\n  icon\\n  plugin {\\n    id\\n    logo\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"duration\":\"150\",\"appear\":\"\"}},[_c('div',{staticClass:\"widget\",class:{\n      customizing: _vm.customizeMode,\n      moving: _vm.moveState,\n      resizing: _vm.resizeState,\n      selected: _vm.isSelected,\n      'details-shown': _vm.showDetails,\n      details: _vm.details\n    }},[_c('div',{ref:\"shell\",staticClass:\"shell\",style:(_vm.shellStyle || (!_vm.details && _vm.mainStyle))},[_c('div',{staticClass:\"wrapper card\"},[_c('div',{staticClass:\"content-wrapper\"},[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.injected.customTitle || _vm.$t(_vm.widget.definition.title)))]),(_vm.widget.configured)?_vm._l((_vm.headerActions),function(action){return (!action.hidden)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t(action.tooltip)),expression:\"$t(action.tooltip)\"}],key:action.id,staticClass:\"icon-button flat primary\",attrs:{\"icon-left\":action.icon,\"disabled\":action.disabled},on:{\"click\":function($event){return action.onCalled()}}}):_vm._e()}):_vm._e(),(_vm.widget.definition.hasConfigPrompts)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.widget.configure')),expression:\"$t('org.vue.components.widget.configure')\"}],staticClass:\"icon-button flat primary\",attrs:{\"icon-left\":\"settings\"},on:{\"click\":function($event){return _vm.openConfig()}}}):_vm._e(),(_vm.details)?_c('VueButton',{staticClass:\"icon-button flat primary\",attrs:{\"icon-left\":\"close\"},on:{\"click\":function($event){return _vm.$emit('close')}}}):(_vm.widget.definition.openDetailsButton)?_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.widget.open-details')),expression:\"$t('org.vue.components.widget.open-details')\"}],staticClass:\"icon-button flat primary\",attrs:{\"icon-left\":\"zoom_out_map\"},on:{\"click\":function($event){return _vm.openDetails()}}}):_vm._e()],2),(_vm.widget.configured)?_c('div',{staticClass:\"content\"},[_c('ClientAddonComponent',{staticClass:\"view\",attrs:{\"name\":_vm.component}})],1):_c('div',{staticClass:\"content not-configured\"},[_c('VueIcon',{staticClass:\"icon huge\",attrs:{\"icon\":\"settings\"}}),_c('VueButton',{attrs:{\"label\":_vm.$t('org.vue.components.widget.configure')},on:{\"click\":function($event){return _vm.openConfig()}}})],1)]),(_vm.customizeMode)?_c('div',{staticClass:\"customize-overlay\",on:{\"mousedown\":_vm.onMoveStart,\"click\":function($event){return _vm.select()}}},[_c('div',{staticClass:\"definition-chip\"},[_c('ItemLogo',{staticClass:\"icon\",attrs:{\"image\":_vm.widget.definition.icon,\"fallback-icon\":\"widgets\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.injected.customTitle || _vm.$t(_vm.widget.definition.title)))])],1),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.widget.remove')),expression:\"$t('org.vue.components.widget.remove')\"}],staticClass:\"remove-button primary flat icon-button\",attrs:{\"icon-left\":\"close\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove()}},nativeOn:{\"mousedown\":function($event){$event.stopPropagation();}}}),(_vm.showResizeHandle)?_vm._l((_vm.resizeHandles),function(handle){return _c('div',{key:handle,staticClass:\"resize-handle\",class:[\n                handle\n              ],on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.onResizeStart($event, handle)}}})}):_vm._e()],2):_vm._e()])]),(_vm.moveState)?_c('div',{staticClass:\"move-ghost\",style:(_vm.moveGhostStyle)},[_c('div',{staticClass:\"backdrop\"})]):_vm._e(),(_vm.resizeState)?_c('div',{staticClass:\"resize-ghost\",style:(_vm.resizeGhostStyle)},[_c('div',{staticClass:\"backdrop\"})]):_vm._e(),(_vm.showConfig)?_c('VueModal',{staticClass:\"medium\",attrs:{\"title\":_vm.$t('org.vue.components.widget.configure')},on:{\"close\":function($event){_vm.showConfig = false}}},[_c('div',{staticClass:\"default-body\"},[(_vm.loadingConfig)?_c('VueLoadingIndicator',{staticClass:\"big accent\"}):_c('PromptsList',{attrs:{\"prompts\":_vm.visiblePrompts},on:{\"answer\":_vm.answerPrompt}})],1),_c('div',{staticClass:\"actions\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('VueButton',{staticClass:\"primary big\",attrs:{\"label\":_vm.$t('org.vue.components.widget.save'),\"disabled\":_vm.loadingConfig},on:{\"click\":function($event){return _vm.saveConfig()}}})],1)]):_vm._e(),(!_vm.details && _vm.showDetails)?_c('WidgetDetailsView',{attrs:{\"widget\":_vm.widget,\"shell-origin\":_vm.shellOrigin},on:{\"close\":function($event){return _vm.closeDetails()}}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function ({\n  gridSize,\n  field\n}) {\n  // @vue/component\n  return {\n    computed: {\n      mainStyle () {\n        if (this.moveState) {\n          return {\n            ...this.getPositionStyle(this.moveState.pxX, this.moveState.pxY),\n            ...this.getSizeStyle()\n          }\n        }\n        if (this.resizeState) {\n          return {\n            ...this.getPositionStyle(this.resizeState.pxX, this.resizeState.pxY),\n            ...this.getSizeStyle(this.resizeState.pxWidth, this.resizeState.pxHeight)\n          }\n        }\n        return {\n          ...this.getPositionStyle(gridSize * this[field].x, gridSize * this[field].y),\n          ...this.getSizeStyle()\n        }\n      },\n\n      moveGhostStyle () {\n        return {\n          ...this.getPositionStyle(gridSize * this.moveState.x, gridSize * this.moveState.y),\n          ...this.getSizeStyle()\n        }\n      },\n\n      resizeGhostStyle () {\n        return {\n          ...this.getPositionStyle(gridSize * this.resizeState.x, gridSize * this.resizeState.y),\n          ...this.getSizeStyle(gridSize * this.resizeState.width, gridSize * this.resizeState.height)\n        }\n      }\n    },\n\n    methods: {\n      getPositionStyle (x, y) {\n        return {\n          left: `${x}px`,\n          top: `${y}px`\n        }\n      },\n\n      getSizeStyle (width, height) {\n        return {\n          width: `${width || gridSize * this[field].width}px`,\n          height: `${height || gridSize * this[field].height}px`\n        }\n      }\n    }\n  }\n}\n","export default function movable ({\n  gridSize,\n  field,\n  zoom\n}) {\n  // @vue/component\n  return {\n    data () {\n      return {\n        moveState: null\n      }\n    },\n\n    beforeDestroy () {\n      this.removeMoveListeners()\n    },\n\n    methods: {\n      removeMoveListeners () {\n        window.removeEventListener('mousemove', this.onMoveUpdate)\n        window.removeEventListener('mouseup', this.onMoveEnd)\n      },\n\n      updateMoveState (e) {\n        const mouseDeltaX = e.clientX - this.$_initalMousePosition.x\n        const mouseDeltaY = e.clientY - this.$_initalMousePosition.y\n        const pxX = this[field].x * gridSize + mouseDeltaX / zoom\n        const pxY = this[field].y * gridSize + mouseDeltaY / zoom\n        let x = Math.round(pxX / gridSize)\n        let y = Math.round(pxY / gridSize)\n        if (x < 0) x = 0\n        if (y < 0) y = 0\n        this.moveState = {\n          pxX,\n          pxY,\n          x,\n          y\n        }\n      },\n\n      onMoveStart (e) {\n        this.$_initalMousePosition = {\n          x: e.clientX,\n          y: e.clientY\n        }\n        this.updateMoveState(e)\n        window.addEventListener('mousemove', this.onMoveUpdate)\n        window.addEventListener('mouseup', this.onMoveEnd)\n      },\n\n      onMoveUpdate (e) {\n        this.updateMoveState(e)\n      },\n\n      async onMoveEnd (e) {\n        this.updateMoveState(e)\n        this.removeMoveListeners()\n        if (this.onMoved) await this.onMoved()\n        this.moveState = null\n      }\n    }\n  }\n}\n","export default function ({\n  gridSize,\n  field,\n  zoom\n}) {\n  // @vue/component\n  return {\n    data () {\n      return {\n        resizeState: null\n      }\n    },\n\n    computed: {\n      showResizeHandle () {\n        return this.isSelected && !this.moveState &&\n          this.canBeResized\n      },\n\n      canBeResized () {\n        const { definition } = this[field]\n        return definition.minWidth !== definition.maxWidth ||\n          definition.minHeight !== definition.maxHeight\n      }\n    },\n\n    created () {\n      this.resizeHandles = [\n        'top-left',\n        'top',\n        'top-right',\n        'right',\n        'bottom-right',\n        'bottom',\n        'bottom-left',\n        'left'\n      ]\n    },\n\n    beforeDestroy () {\n      this.removeResizeListeners()\n    },\n\n    methods: {\n      removeResizeListeners () {\n        window.removeEventListener('mousemove', this.onResizeMove)\n        window.removeEventListener('mouseup', this.onResizeEnd)\n      },\n\n      updateResizeState (e) {\n        const target = this[field]\n        const mouseDeltaX = (e.clientX - this.$_initalMousePosition.x) / zoom\n        const mouseDeltaY = (e.clientY - this.$_initalMousePosition.y) / zoom\n        const handle = this.$_resizeHandle\n        let dX = 0\n        let dY = 0\n        let dWidth = 0\n        let dHeight = 0\n        // Handles\n        if (handle.includes('left')) {\n          dX = mouseDeltaX\n          dWidth = -mouseDeltaX\n        } else if (handle.includes('right')) {\n          dWidth = mouseDeltaX\n        }\n        if (handle.includes('top')) {\n          dY = mouseDeltaY\n          dHeight = -mouseDeltaY\n        } else if (handle.includes('bottom')) {\n          dHeight = mouseDeltaY\n        }\n        // On-grid diffs\n        let gridDX = Math.round(dX / gridSize)\n        let gridDY = Math.round(dY / gridSize)\n        let gridDWidth = Math.round(dWidth / gridSize)\n        let gridDHeight = Math.round(dHeight / gridSize)\n        // Bounds\n        if (target.width + gridDWidth < target.definition.minWidth) {\n          gridDWidth = target.definition.minWidth - target.width\n          gridDX = target.width - target.definition.minWidth\n        }\n        if (target.width + gridDWidth > target.definition.maxWidth) {\n          gridDWidth = target.definition.maxWidth - target.width\n          gridDX = target.width - target.definition.maxWidth\n        }\n        if (target.height + gridDHeight < target.definition.minHeight) {\n          gridDHeight = target.definition.minHeight - target.height\n          gridDY = target.height - target.definition.minHeight\n        }\n        if (target.height + gridDHeight > target.definition.maxHeight) {\n          gridDHeight = target.definition.maxHeight - target.height\n          gridDY = target.height - target.definition.maxHeight\n        }\n        // Temp. applied state\n        this.resizeState = {\n          x: target.x + gridDX,\n          y: target.y + gridDY,\n          width: target.width + gridDWidth,\n          height: target.height + gridDHeight,\n          pxX: target.x * gridSize + dX,\n          pxY: target.y * gridSize + dY,\n          pxWidth: target.width * gridSize + dWidth,\n          pxHeight: target.height * gridSize + dHeight\n        }\n      },\n\n      onResizeStart (e, handle) {\n        this.$_initalMousePosition = {\n          x: e.clientX,\n          y: e.clientY\n        }\n        this.$_resizeHandle = handle\n        this.updateResizeState(e)\n        window.addEventListener('mousemove', this.onResizeMove)\n        window.addEventListener('mouseup', this.onResizeEnd)\n      },\n\n      onResizeMove (e) {\n        this.updateResizeState(e)\n      },\n\n      async onResizeEnd (e) {\n        this.updateResizeState(e)\n        this.removeResizeListeners()\n        if (this.onResized) await this.onResized()\n        this.resizeState = null\n      }\n    }\n  }\n}\n","<template>\n  <transition duration=\"150\" appear>\n    <div\n      class=\"widget\"\n      :class=\"{\n        customizing: customizeMode,\n        moving: moveState,\n        resizing: resizeState,\n        selected: isSelected,\n        'details-shown': showDetails,\n        details\n      }\"\n    >\n      <div\n        ref=\"shell\"\n        class=\"shell\"\n        :style=\"shellStyle || (!details && mainStyle)\"\n      >\n        <div class=\"wrapper card\">\n          <div class=\"content-wrapper\">\n            <div class=\"header\">\n              <div class=\"title\">{{ injected.customTitle || $t(widget.definition.title) }}</div>\n\n              <!-- Custom actions -->\n              <template v-if=\"widget.configured\">\n                <VueButton\n                  v-for=\"action of headerActions\"\n                  v-if=\"!action.hidden\"\n                  :key=\"action.id\"\n                  :icon-left=\"action.icon\"\n                  :disabled=\"action.disabled\"\n                  class=\"icon-button flat primary\"\n                  v-tooltip=\"$t(action.tooltip)\"\n                  @click=\"action.onCalled()\"\n                />\n              </template>\n\n              <!-- Settings button -->\n              <VueButton\n                v-if=\"widget.definition.hasConfigPrompts\"\n                icon-left=\"settings\"\n                class=\"icon-button flat primary\"\n                v-tooltip=\"$t('org.vue.components.widget.configure')\"\n                @click=\"openConfig()\"\n              />\n\n              <!-- Close button -->\n              <VueButton\n                v-if=\"details\"\n                icon-left=\"close\"\n                class=\"icon-button flat primary\"\n                @click=\"$emit('close')\"\n              />\n\n              <!-- Open details button -->\n              <VueButton\n                v-else-if=\"widget.definition.openDetailsButton\"\n                icon-left=\"zoom_out_map\"\n                class=\"icon-button flat primary\"\n                v-tooltip=\"$t('org.vue.components.widget.open-details')\"\n                @click=\"openDetails()\"\n              />\n            </div>\n\n            <div v-if=\"widget.configured\" class=\"content\">\n              <ClientAddonComponent\n                :name=\"component\"\n                class=\"view\"\n              />\n            </div>\n\n            <div v-else class=\"content not-configured\">\n              <VueIcon\n                icon=\"settings\"\n                class=\"icon huge\"\n              />\n              <VueButton\n                :label=\"$t('org.vue.components.widget.configure')\"\n                @click=\"openConfig()\"\n              />\n            </div>\n          </div>\n\n          <div\n            v-if=\"customizeMode\"\n            class=\"customize-overlay\"\n            @mousedown=\"onMoveStart\"\n            @click=\"select()\"\n          >\n            <div class=\"definition-chip\">\n              <ItemLogo\n                :image=\"widget.definition.icon\"\n                fallback-icon=\"widgets\"\n                class=\"icon\"\n              />\n              <div class=\"title\">{{ injected.customTitle || $t(widget.definition.title) }}</div>\n            </div>\n            <VueButton\n              class=\"remove-button primary flat icon-button\"\n              icon-left=\"close\"\n              v-tooltip=\"$t('org.vue.components.widget.remove')\"\n              @mousedown.native.stop\n              @click.stop=\"remove()\"\n            />\n\n            <template v-if=\"showResizeHandle\">\n              <div\n                v-for=\"handle of resizeHandles\"\n                :key=\"handle\"\n                class=\"resize-handle\"\n                :class=\"[\n                  handle\n                ]\"\n                @mousedown.stop=\"onResizeStart($event, handle)\"\n              />\n            </template>\n          </div>\n        </div>\n      </div>\n\n      <div\n        v-if=\"moveState\"\n        class=\"move-ghost\"\n        :style=\"moveGhostStyle\"\n      >\n        <div class=\"backdrop\"/>\n      </div>\n\n      <div\n        v-if=\"resizeState\"\n        class=\"resize-ghost\"\n        :style=\"resizeGhostStyle\"\n      >\n        <div class=\"backdrop\"/>\n      </div>\n\n      <VueModal\n        v-if=\"showConfig\"\n        :title=\"$t('org.vue.components.widget.configure')\"\n        class=\"medium\"\n        @close=\"showConfig = false\"\n      >\n        <div class=\"default-body\">\n          <VueLoadingIndicator\n            v-if=\"loadingConfig\"\n            class=\"big accent\"\n          />\n          <PromptsList\n            v-else\n            :prompts=\"visiblePrompts\"\n            @answer=\"answerPrompt\"\n          />\n        </div>\n\n        <div slot=\"footer\" class=\"actions\">\n          <VueButton\n            class=\"primary big\"\n            :label=\"$t('org.vue.components.widget.save')\"\n            :disabled=\"loadingConfig\"\n            @click=\"saveConfig()\"\n          />\n        </div>\n      </VueModal>\n\n      <WidgetDetailsView\n        v-if=\"!details && showDetails\"\n        :widget=\"widget\"\n        :shell-origin=\"shellOrigin\"\n        @close=\"closeDetails()\"\n      />\n    </div>\n  </transition>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport Prompts from '@/mixins/Prompts'\nimport OnGrid from '@/mixins/OnGrid'\nimport Movable from '@/mixins/Movable'\nimport Resizable from '@/mixins/Resizable'\n\nimport WIDGET_REMOVE from '@/graphql/widget/widgetRemove.gql'\nimport WIDGET_MOVE from '@/graphql/widget/widgetMove.gql'\nimport WIDGETS from '@/graphql/widget/widgets.gql'\nimport WIDGET_FRAGMENT from '@/graphql/widget/widgetFragment.gql'\nimport WIDGET_DEFINITION_FRAGMENT from '@/graphql/widget/widgetDefinitionFragment.gql'\nimport WIDGET_CONFIG_OPEN from '@/graphql/widget/widgetConfigOpen.gql'\nimport WIDGET_CONFIG_SAVE from '@/graphql/widget/widgetConfigSave.gql'\n\nconst GRID_SIZE = 200\nconst ZOOM = 0.7\n\nconst state = new Vue({\n  data: {\n    selectedWidgetId: null\n  }\n})\n\nexport default {\n  provide () {\n    return {\n      widget: this.injected\n    }\n  },\n\n  inject: [\n    'dashboard'\n  ],\n\n  mixins: [\n    Prompts({\n      field: 'widget',\n      update (store, prompts) {\n        store.writeFragment({\n          fragment: WIDGET_FRAGMENT,\n          fragmentName: 'widget',\n          id: this.widget.id,\n          data: {\n            prompts\n          }\n        })\n      }\n    }),\n\n    OnGrid({\n      field: 'widget',\n      gridSize: GRID_SIZE\n    }),\n\n    Movable({\n      field: 'widget',\n      gridSize: GRID_SIZE,\n      zoom: ZOOM\n    }),\n\n    Resizable({\n      field: 'widget',\n      gridSize: GRID_SIZE,\n      zoom: ZOOM\n    })\n  ],\n\n  props: {\n    widget: {\n      type: Object,\n      required: true\n    },\n\n    customizeMode: {\n      type: Boolean,\n      default: false\n    },\n\n    details: {\n      type: Boolean,\n      default: false\n    },\n\n    shellStyle: {\n      type: Object,\n      default: null\n    }\n  },\n\n  data () {\n    return {\n      showConfig: false,\n      loadingConfig: false,\n      showDetails: false,\n      injected: {\n        // State\n        data: this.widget,\n        isDetails: this.details,\n        // Actions\n        openConfig: this.openConfig,\n        openDetails: this.openDetails,\n        closeDetails: this.closeDetails,\n        addHeaderAction: this.addHeaderAction,\n        removeHeaderAction: this.removeHeaderAction,\n        remove: this.remove,\n        // Custom\n        customTitle: null\n      },\n      shellOrigin: null,\n      headerActions: []\n    }\n  },\n\n  computed: {\n    isSelected () {\n      return this.widget.id === state.selectedWidgetId\n    },\n\n    component () {\n      if (this.details) {\n        return this.widget.definition.detailsComponent\n      }\n      return this.widget.definition.component\n    }\n  },\n\n  watch: {\n    widget: {\n      handler (value) {\n        this.injected.data = value\n      }\n    },\n\n    customizeMode (value) {\n      if (value) {\n        if (this.showDetails) this.closeDetails()\n      } else if (this.isSelected) {\n        state.selectedWidgetId = null\n      }\n    },\n\n    'dashboard.width': 'updateShellOrigin',\n    'dashboard.height': 'updateShellOrigin',\n    'widget.x': 'updateShellOrigin',\n    'widget.y': 'updateShellOrigin',\n    'widget.width': 'updateShellOrigin',\n    'widget.height': 'updateShellOrigin'\n  },\n\n  mounted () {\n    // Wait for animation\n    setTimeout(() => {\n      this.updateShellOrigin()\n    }, 150)\n  },\n\n  methods: {\n    async openConfig () {\n      this.loadingConfig = true\n      this.showConfig = true\n      await this.$apollo.mutate({\n        mutation: WIDGET_CONFIG_OPEN,\n        variables: {\n          id: this.widget.id\n        }\n      })\n      this.loadingConfig = false\n    },\n\n    async saveConfig () {\n      this.showConfig = false\n      this.loadingConfig = false\n      await this.$apollo.mutate({\n        mutation: WIDGET_CONFIG_SAVE,\n        variables: {\n          id: this.widget.id\n        }\n      })\n    },\n\n    openDetails () {\n      if (this.widget.definition.detailsComponent) {\n        this.showDetails = true\n        this.dashboard.isWidgetDetailsShown = true\n      }\n    },\n\n    closeDetails () {\n      this.showDetails = false\n      this.dashboard.isWidgetDetailsShown = false\n    },\n\n    remove () {\n      this.$apollo.mutate({\n        mutation: WIDGET_REMOVE,\n        variables: {\n          id: this.widget.id\n        },\n        update: (store, { data: { widgetRemove } }) => {\n          let data = store.readQuery({ query: WIDGETS })\n          // TODO this is a workaround\n          // See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473\n          data = {\n            widgets: data.widgets.filter(w => w.id !== this.widget.id)\n          }\n          store.writeQuery({ query: WIDGETS, data })\n          store.writeFragment({\n            fragment: WIDGET_DEFINITION_FRAGMENT,\n            id: widgetRemove.definition.id,\n            data: widgetRemove.definition\n          })\n        }\n      })\n    },\n\n    select () {\n      state.selectedWidgetId = this.widget.id\n    },\n\n    async onMoved () {\n      await this.$apollo.mutate({\n        mutation: WIDGET_MOVE,\n        variables: {\n          input: {\n            id: this.widget.id,\n            x: this.moveState.x,\n            y: this.moveState.y,\n            width: this.widget.width,\n            height: this.widget.height\n          }\n        }\n      })\n    },\n\n    async onResized () {\n      await this.$apollo.mutate({\n        mutation: WIDGET_MOVE,\n        variables: {\n          input: {\n            id: this.widget.id,\n            x: this.resizeState.x,\n            y: this.resizeState.y,\n            width: this.resizeState.width,\n            height: this.resizeState.height\n          }\n        }\n      })\n    },\n\n    updateShellOrigin () {\n      const el = this.$refs.shell\n      if (!el) return\n      const bounds = el.getBoundingClientRect()\n      this.shellOrigin = {\n        x: bounds.left + bounds.width / 2 - this.dashboard.left,\n        y: bounds.top + bounds.height / 2 - this.dashboard.top\n      }\n    },\n\n    addHeaderAction (action) {\n      this.removeHeaderAction(action.id)\n      // Optional props should still be reactive\n      if (!action.tooltip) action.tooltip = null\n      if (!action.disabled) action.disabled = false\n      if (!action.hidden) action.hidden = false\n      // Transform the function props into getters\n      transformToGetter(action, 'tooltip')\n      transformToGetter(action, 'disabled')\n      transformToGetter(action, 'hidden')\n      this.headerActions.push(action)\n    },\n\n    removeHeaderAction (id) {\n      const index = this.headerActions.findIndex(a => a.id === id)\n      if (index !== -1) this.headerActions.splice(index, 1)\n    }\n  }\n}\n\nfunction transformToGetter (obj, field) {\n  const value = obj[field]\n  if (typeof value === 'function') {\n    delete obj[field]\n    Object.defineProperty(obj, field, {\n      get: value,\n      enumerable: true,\n      configurable: true\n    })\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n$zoom = .7\n\n.shell,\n.move-ghost,\n.resize-ghost\n  position absolute\n  padding ($padding-item / 2)\n  box-sizing border-box\n\n.wrapper,\n.content-wrapper,\n.move-ghost .backdrop,\n.resize-ghost .backdrop\n  width 100%\n  height 100%\n\n.wrapper,\n.content-wrapper\n  display flex\n  flex-direction column\n  position relative\n\n.wrapper\n  transition box-shadow .15s\n\n.header\n  $small-padding = ($padding-item / 1.5)\n  padding $small-padding $small-padding ($small-padding / 2) $padding-item\n  h-box()\n\n  .title\n    flex 1\n    opacity .5\n    color $vue-ui-color-dark-neutral\n    .vue-ui-dark-mode &\n      color $vue-ui-color-light-neutral\n\n  .icon-button\n    width 20px\n    height @width\n\n.content\n  flex 1\n  overflow hidden\n\n.view\n  width 100%\n  height 100%\n  box-sizing border-box\n\n.not-configured\n  v-box()\n  box-center()\n  .icon\n    margin-bottom $padding-item\n    >>> svg\n      fill $color-text-light\n\n.customize-overlay\n  position absolute\n  top 0\n  left 0\n  width 100%\n  height 100%\n  z-index 1\n  border-radius $br\n  v-box()\n  box-center()\n  cursor move\n  user-select none\n  box-sizing border-box\n  border transparent 1px solid\n\n  /deep/ > *\n    transition transform .15s\n\n  .definition-chip\n    background $vue-ui-color-primary\n    color $vue-ui-color-light\n    border-radius 21px\n    user-select none\n    h-box()\n    box-center()\n\n    .title\n      padding ($padding-item / 2) $padding-item\n      padding-left 0\n\n    .icon\n      margin-right ($padding-item / 2)\n      >>> svg\n        fill @color\n\n.customize-overlay:hover,\n.selected .customize-overlay\n  background rgba($vue-ui-color-primary, .2)\n\n.remove-button\n  position absolute\n  top $padding-item\n  right $padding-item\n\n.customizing\n  .wrapper\n    border-radius ($br / $zoom)\n\n  .content-wrapper\n    opacity .15\n\n  .customize-overlay\n    /deep/ > *\n      transform scale(1/$zoom)\n\n.move-ghost,\n.resize-ghost\n  z-index 10000\n  .backdrop\n    background rgba($vue-ui-color-accent, .2)\n    border-radius ($br / $zoom)\n    .vue-ui-dark-mode &\n      background rgba(lighten($vue-ui-color-accent, 60%), .2)\n\n.moving,\n.resizing\n  .shell\n    z-index 10001\n    opacity .7\n\n.moving\n  .shell\n    .wrapper\n      box-shadow 0 5px 30px rgba($md-black, .2)\n\n.resizing\n  .shell\n    opacity .5\n\n.widget\n  .shell\n    transition opacity .15s, transform .15s\n  &:not(.moving):not(.resizing)\n    .shell\n      transition opacity .15s, left .15s, top .15s, width .15s, height .15s, transform .15s\n\n  &.selected\n    .customize-overlay\n      border $vue-ui-color-primary solid 1px\n\n  &.details-shown\n    > .shell\n      transform scale(1.2)\n\n  &.v-enter,\n  &.v-leave-to\n    .shell\n      transform scale(.9)\n      opacity 0\n    &.details\n      .shell\n        transform scale(.4)\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Widget.vue?vue&type=template&id=4d96c5e7&scoped=true&\"\nimport script from \"./Widget.vue?vue&type=script&lang=js&\"\nexport * from \"./Widget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Widget.vue?vue&type=style&index=0&id=4d96c5e7&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4d96c5e7\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectFeatureItem.vue?vue&type=style&index=0&id=4c4b8350&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectFeatureItem.vue?vue&type=style&index=0&id=4c4b8350&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"gitCommit\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gitCommit\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":75}};\n    doc.loc.source = {\"body\":\"mutation gitCommit ($message: String!) {\\n  gitCommit (message: $message)\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"gitCommit\"] = oneQuery(doc, \"gitCommit\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptsList.vue?vue&type=style&index=0&id=7b0b5c9a&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptsList.vue?vue&type=style&index=0&id=7b0b5c9a&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"promptError\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PromptError\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":57}};\n    doc.loc.source = {\"body\":\"fragment promptError on PromptError {\\n  message\\n  link\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:(_vm.$t(_vm.configuration.description)),expression:\"$t(configuration.description)\",modifiers:{\"right\":true}}],staticClass:\"configuration-item list-item\",class:{\n    selected: _vm.selected\n  }},[_c('div',{staticClass:\"content\"},[_c('ItemLogo',{attrs:{\"image\":_vm.configuration.icon || (_vm.configuration.plugin && _vm.configuration.plugin.logo),\"fallback-icon\":\"settings_applications\"}}),_c('ListItemInfo',{attrs:{\"name\":_vm.configuration.name,\"description\":_vm.$t(_vm.configuration.description),\"selected\":_vm.selected}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"configuration-item list-item\"\n    :class=\"{\n      selected\n    }\"\n    v-tooltip.right=\"$t(configuration.description)\"\n  >\n    <div class=\"content\">\n      <ItemLogo\n        :image=\"configuration.icon || (configuration.plugin && configuration.plugin.logo)\"\n        fallback-icon=\"settings_applications\"\n      />\n\n      <ListItemInfo\n        :name=\"configuration.name\"\n        :description=\"$t(configuration.description)\"\n        :selected=\"selected\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    configuration: {\n      type: Object,\n      required: true\n    },\n\n    selected: {\n      type: Boolean,\n      default: false\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.configuration-item\n  padding $padding-item\n\n  .content\n    h-box()\n    box-center()\n\n  .list-item-info\n    flex auto 1 1\n    width 0\n\n    >>> .description\n      white-space nowrap\n      overflow hidden\n      text-overflow ellipsis\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigurationItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigurationItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigurationItem.vue?vue&type=template&id=6ca068b0&scoped=true&\"\nimport script from \"./ConfigurationItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigurationItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigurationItem.vue?vue&type=style&index=0&id=6ca068b0&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6ca068b0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-bar\"},[_c('portal-target',{staticClass:\"title\",attrs:{\"name\":\"top-title\"}},[_vm._v(\"Vue\")]),_c('AppLoading'),_c('div',{staticClass:\"vue-ui-spacer\"}),_c('SuggestionBar'),_c('portal-target',{staticClass:\"actions\",attrs:{\"name\":\"top-actions\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=68cd19b0&scoped=true&\"\nvar script = {}\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=68cd19b0&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"68cd19b0\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstall\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstall\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginInstallation\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":140}};\n    doc.loc.source = {\"body\":\"#import \\\"./pluginInstallationFragment.gql\\\"\\n\\nmutation pluginInstall ($id: ID!) {\\n  pluginInstall (id: $id) {\\n    ...pluginInstallation\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./pluginInstallationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginInstall\"] = oneQuery(doc, \"pluginInstall\");\n        \n","import PROMPT_ANSWER from '@/graphql/prompt/promptAnswer.gql'\n\nexport default function ({\n  field,\n  query,\n  variables = null,\n  updateQuery = null,\n  update = null\n}) {\n  // @vue/component\n  return {\n    computed: {\n      configurationValid () {\n        return this.visiblePrompts.filter(\n          p =>\n            p.error ||\n            p.value === null ||\n            JSON.parse(p.value) === ''\n        ).length === 0\n      },\n\n      hasPromptsChanged () {\n        return !!this.visiblePrompts.find(\n          prompt => prompt.valueChanged\n        )\n      },\n\n      visiblePrompts () {\n        if (!this[field]) {\n          return []\n        }\n        return this[field].prompts.filter(\n          p => p.visible\n        )\n      }\n    },\n\n    watch: {\n      hasPromptsChanged: {\n        handler (value) {\n          this.$emit('has-changes', value)\n        },\n        immediate: true\n      }\n    },\n\n    methods: {\n      async answerPrompt ({ prompt, value }) {\n        await this.$apollo.mutate({\n          mutation: PROMPT_ANSWER,\n          variables: {\n            input: {\n              id: prompt.id,\n              value: JSON.stringify(value)\n            }\n          },\n          update: (store, { data: { promptAnswer } }) => {\n            if (update) {\n              update.call(this, store, promptAnswer)\n              return\n            }\n            let vars = variables || this.$apollo.queries[field].options.variables || undefined\n            if (typeof vars === 'function') {\n              vars = vars.call(this)\n            }\n            const data = store.readQuery({ query, variables: vars })\n            if (updateQuery) {\n              updateQuery.call(this, data, promptAnswer)\n            } else {\n              data[field].prompts = promptAnswer\n            }\n            store.writeQuery({ query, variables: vars, data })\n          }\n        })\n      }\n    }\n  }\n}\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Locale\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"strings\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":47}};\n    doc.loc.source = {\"body\":\"fragment locale on Locale {\\n  lang\\n  strings\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"feature\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Feature\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":75}};\n    doc.loc.source = {\"body\":\"fragment feature on Feature {\\n  id\\n  name\\n  description\\n  link\\n  enabled\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"configurations\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configurations\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"configuration\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":108}};\n    doc.loc.source = {\"body\":\"#import \\\"./configurationFragment.gql\\\"\\n\\nquery configurations {\\n  configurations {\\n    ...configuration\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./configurationFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"configurations\"] = oneQuery(doc, \"configurations\");\n        \n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NpmPackageSearch.vue?vue&type=style&index=0&id=5f26a37c&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NpmPackageSearch.vue?vue&type=style&index=0&id=5f26a37c&lang=stylus&scoped=true&\"","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCreate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCreate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"folderCurrent\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":137}};\n    doc.loc.source = {\"body\":\"#import \\\"./folderCurrentFragment.gql\\\"\\n\\nmutation folderCreate ($name: String!) {\\n  folderCreate (name: $name) {\\n    ...folderCurrent\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./folderCurrentFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"folderCreate\"] = oneQuery(doc, \"folderCreate\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDisable',{staticClass:\"prompt prompt-editor\",attrs:{\"disabled\":!_vm.prompt.enabled}},[_c('div',{staticClass:\"prompt-content vertical\"},[_c('ListItemInfo',{attrs:{\"name\":_vm.$t(_vm.prompt.message),\"description\":_vm.$t(_vm.prompt.description),\"link\":_vm.prompt.link}}),_c('div',{staticClass:\"prompt-input\"},[_c('VueInput',{attrs:{\"value\":_vm.value(_vm.prompt.value),\"type\":\"textarea\"},on:{\"update\":function (value) { return _vm.answer(value); }}})],1)],1),_c('PromptError',{attrs:{\"error\":_vm.prompt.error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <VueDisable\n    :disabled=\"!prompt.enabled\"\n    class=\"prompt prompt-editor\"\n  >\n    <div class=\"prompt-content vertical\">\n      <ListItemInfo\n        :name=\"$t(prompt.message)\"\n        :description=\"$t(prompt.description)\"\n        :link=\"prompt.link\"\n      />\n\n      <div class=\"prompt-input\">\n        <VueInput\n          :value=\"value(prompt.value)\"\n          type=\"textarea\"\n          @update=\"value => answer(value)\"\n        />\n      </div>\n    </div>\n\n    <PromptError :error=\"prompt.error\"/>\n  </VueDisable>\n</template>\n\n<script>\nimport Prompt from './Prompt'\n\nexport default {\n  extends: Prompt,\n\n  buffer: true\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.vue-ui-input /deep/ > .content > .input-wrapper > textarea.input\n  min-height 16em\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PromptEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PromptEditor.vue?vue&type=template&id=4434277c&scoped=true&\"\nimport script from \"./PromptEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./PromptEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PromptEditor.vue?vue&type=style&index=0&id=4434277c&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4434277c\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressScreen.vue?vue&type=style&index=0&id=3ba26ff4&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../cli-service/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressScreen.vue?vue&type=style&index=0&id=3ba26ff4&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"terminal-view card\"},[(_vm.toolbar)?_c('div',{staticClass:\"pane-toolbar\"},[_c('VueIcon',{attrs:{\"icon\":\"dvr\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.terminal-view.buttons.clear')),expression:\"$t('org.vue.components.terminal-view.buttons.clear')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"delete_forever\"},on:{\"click\":function($event){_vm.clear(); _vm.$emit('clear')}}}),_c('VueIcon',{staticClass:\"separator\",attrs:{\"icon\":\"lens\"}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.terminal-view.buttons.content-copy')),expression:\"$t('org.vue.components.terminal-view.buttons.content-copy')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"content_copy\"},on:{\"click\":function($event){return _vm.copyContent()}}}),_c('VueButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('org.vue.components.terminal-view.buttons.scroll')),expression:\"$t('org.vue.components.terminal-view.buttons.scroll')\"}],staticClass:\"icon-button flat\",attrs:{\"icon-left\":\"subdirectory_arrow_left\"},on:{\"click\":function($event){return _vm.scrollToBottom()}}})],1):_vm._e(),_c('div',{staticClass:\"view\"},[_c('div',{ref:\"render\",staticClass:\"xterm-render\"})]),(_vm.autoSize)?_c('resize-observer',{on:{\"notify\":_vm.fit}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"terminal-view card\">\n    <div v-if=\"toolbar\" class=\"pane-toolbar\">\n      <VueIcon\n        icon=\"dvr\"\n      />\n      <div class=\"title\">{{ title }}</div>\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"delete_forever\"\n        v-tooltip=\"$t('org.vue.components.terminal-view.buttons.clear')\"\n        @click=\"clear(); $emit('clear')\"\n      />\n      <VueIcon\n        icon=\"lens\"\n        class=\"separator\"\n      />\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"content_copy\"\n        v-tooltip=\"$t('org.vue.components.terminal-view.buttons.content-copy')\"\n        @click=\"copyContent()\"\n      />\n      <VueButton\n        class=\"icon-button flat\"\n        icon-left=\"subdirectory_arrow_left\"\n        v-tooltip=\"$t('org.vue.components.terminal-view.buttons.scroll')\"\n        @click=\"scrollToBottom()\"\n      />\n    </div>\n\n    <div class=\"view\">\n      <div ref=\"render\" class=\"xterm-render\"/>\n    </div>\n\n    <resize-observer v-if=\"autoSize\" @notify=\"fit\"/>\n  </div>\n</template>\n\n<script>\nimport { Terminal } from 'xterm'\nimport * as fit from 'xterm/dist/addons/fit/fit'\nimport * as webLinks from 'xterm/dist/addons/webLinks/webLinks'\n\nTerminal.applyAddon(fit)\nTerminal.applyAddon(webLinks)\n\nconst defaultTheme = {\n  foreground: '#2c3e50',\n  background: '#fff',\n  cursor: 'rgba(0, 0, 0, .4)',\n  selection: 'rgba(0, 0, 0, 0.3)',\n  black: '#000000',\n  red: '#e83030',\n  brightRed: '#e83030',\n  green: '#42b983',\n  brightGreen: '#42b983',\n  brightYellow: '#ea6e00',\n  yellow: '#ea6e00',\n  magenta: '#e83030',\n  brightMagenta: '#e83030',\n  cyan: '#03c2e6',\n  brightBlue: '#03c2e6',\n  brightCyan: '#03c2e6',\n  blue: '#03c2e6',\n  white: '#d0d0d0',\n  brightBlack: '#808080',\n  brightWhite: '#ffffff'\n}\n\nconst darkTheme = {\n  ...defaultTheme,\n  foreground: '#fff',\n  background: '#1d2935',\n  cursor: 'rgba(255, 255, 255, .4)',\n  selection: 'rgba(255, 255, 255, 0.3)',\n  magenta: '#e83030',\n  brightMagenta: '#e83030'\n}\n\nexport default {\n  clientState: true,\n\n  props: {\n    cols: {\n      type: Number,\n      required: true\n    },\n\n    rows: {\n      type: Number,\n      required: true\n    },\n\n    content: {\n      type: String,\n      default: undefined\n    },\n\n    autoSize: {\n      type: Boolean,\n      default: false\n    },\n\n    options: {\n      type: Object,\n      default: () => ({})\n    },\n\n    toolbar: {\n      type: Boolean,\n      default: false\n    },\n\n    title: {\n      type: String,\n      default: null\n    },\n\n    openLinks: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  computed: {\n    theme () {\n      if (this.darkMode) {\n        return darkTheme\n      } else {\n        return defaultTheme\n      }\n    }\n  },\n\n  watch: {\n    cols (c) {\n      this.$_terminal.resize(c, this.rows)\n    },\n\n    rows (r) {\n      this.$_terminal.resize(this.cols, r)\n    },\n\n    content: 'setContent',\n\n    darkMode (value, oldValue) {\n      if (typeof oldValue === 'undefined') {\n        this.initTerminal()\n      } else if (this.$_terminal) {\n        this.$_terminal.setOption('theme', this.theme)\n      }\n    }\n  },\n\n  beforeDestroy () {\n    this.$_terminal.destroy()\n  },\n\n  methods: {\n    initTerminal () {\n      const term = this.$_terminal = new Terminal({\n        cols: this.cols,\n        rows: this.rows,\n        theme: this.theme,\n        ...this.options\n      })\n      webLinks.webLinksInit(term, this.handleLink)\n      term.open(this.$refs.render)\n\n      term.on('blur', () => this.$emit('blur'))\n      term.on('focus', () => this.$emit('focus'))\n\n      if (this.autoSize) {\n        this.$nextTick(this.fit)\n      }\n    },\n\n    setContent (value, ln = true) {\n      if (value.indexOf('\\n') !== -1) {\n        value.split('\\n').forEach(\n          t => this.setContent(t)\n        )\n        return\n      }\n      if (typeof value === 'string') {\n        this.$_terminal[ln ? 'writeln' : 'write'](value)\n      } else {\n        this.$_terminal.writeln('')\n      }\n    },\n\n    addLog (log) {\n      this.setContent(log.text, log.type === 'stdout')\n    },\n\n    clear () {\n      this.$_terminal.clear()\n    },\n\n    scrollToBottom () {\n      this.$_terminal.scrollToBottom()\n    },\n\n    copyContent () {\n      const textarea = this.$_terminal.textarea\n      if (!textarea) {\n        return\n      }\n      const textValue = textarea.value\n      const emptySelection = !this.$_terminal.hasSelection()\n      try {\n        if (emptySelection) {\n          this.$_terminal.selectAll()\n        }\n        var selection = this.$_terminal.getSelection()\n        textarea.value = selection\n        textarea.select()\n        document.execCommand('copy')\n      } finally {\n        textarea.value = textValue\n        if (emptySelection) {\n          this.$_terminal.clearSelection()\n        }\n      }\n    },\n\n    handleLink (event, uri) {\n      if (this.openLinks) {\n        window.open(uri, '_blank')\n      }\n      this.$emit('link', uri)\n    },\n\n    async fit () {\n      const term = this.$_terminal\n      term.element.style.display = 'none'\n\n      await this.$nextTick()\n\n      term.fit()\n      term.element.style.display = ''\n      term.refresh(0, term.rows - 1)\n    },\n\n    focus () {\n      this.$_terminal.focus()\n    },\n\n    blur () {\n      this.$_terminal.blur()\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\">\n@import \"~xterm/dist/xterm.css\"\n</style>\n\n<style lang=\"stylus\" scoped>\n.terminal-view\n  v-box()\n  align-items stretch\n\n  .view\n    flex 100% 1 1\n    height 0\n    position relative\n    padding-left $padding-item\n\n  .xterm-render\n    width 100%\n    height 100%\n    >>> .xterm\n      .xterm-cursor-layer\n        display none\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TerminalView.vue?vue&type=template&id=25c537b5&scoped=true&\"\nimport script from \"./TerminalView.vue?vue&type=script&lang=js&\"\nexport * from \"./TerminalView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TerminalView.vue?vue&type=style&index=0&lang=stylus&\"\nimport style1 from \"./TerminalView.vue?vue&type=style&index=1&id=25c537b5&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"25c537b5\",\n  null\n  \n)\n\nexport default component.exports","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Widget\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"definition\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detailsComponent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canAddMore\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasConfigPrompts\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minWidth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minHeight\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxWidth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxHeight\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"openDetailsButton\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"x\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"y\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"width\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"height\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"prompts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"prompt\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":343}};\n    doc.loc.source = {\"body\":\"#import \\\"../prompt/promptFragment.gql\\\"\\n\\nfragment widget on Widget {\\n  id\\n  definition {\\n    id\\n    title\\n    icon\\n    component\\n    detailsComponent\\n    canAddMore\\n    hasConfigPrompts\\n    minWidth\\n    minHeight\\n    maxWidth\\n    maxHeight\\n    openDetailsButton\\n  }\\n  x\\n  y\\n  width\\n  height\\n  config\\n  configured\\n  prompts {\\n    ...prompt\\n  }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"../prompt/promptFragment.gql\").definitions));\n\n\n      module.exports = doc;\n    \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetConfigSave\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgetConfigSave\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"widget\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":122}};\n    doc.loc.source = {\"body\":\"#import \\\"./widgetFragment.gql\\\"\\n\\nmutation widgetConfigSave ($id: ID!) {\\n  widgetConfigSave (id: $id) {\\n    ...widget\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  doc.definitions = doc.definitions.concat(unique(require(\"./widgetFragment.gql\").definitions));\n\n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"widgetConfigSave\"] = oneQuery(doc, \"widgetConfigSave\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"progressRemoved\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"progressRemoved\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":72}};\n    doc.loc.source = {\"body\":\"subscription progressRemoved ($id: ID!) {\\n  progressRemoved (id: $id)\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"progressRemoved\"] = oneQuery(doc, \"progressRemoved\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginResetApi\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pluginResetApi\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":44}};\n    doc.loc.source = {\"body\":\"mutation pluginResetApi {\\n  pluginResetApi\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n\n    module.exports = doc;\n    \n        module.exports[\"pluginResetApi\"] = oneQuery(doc, \"pluginResetApi\");\n        \n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-select-list\"},[_c('ApolloQuery',{attrs:{\"query\":require('@/graphql/project/projects.gql')},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar ref_result = ref.result;\nvar data = ref_result.data;\nvar loading = ref_result.loading;\nreturn [(data)?[(data.projects.length)?_c('div',[_c('div',{staticClass:\"toolbar\"},[_c('VueInput',{staticClass:\"round\",attrs:{\"icon-left\":\"search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._l(([true, false]),function(favorite){return _c('ListFilter',{key:favorite,attrs:{\"list\":_vm.filterProjects(data.projects),\"filter\":function (item) { return !!item.favorite === favorite; }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar list = ref.list;\nreturn [(data.projects.find(function (item) { return item.favorite; }))?_c('div',{staticClass:\"cta-text\",class:favorite ? 'favorite' : 'other'},[_vm._v(\" \"+_vm._s(_vm.$t((\"org.vue.components.project-select-list.titles.\" + (favorite ? 'favorite' : 'other'))))+\" \")]):_vm._e(),_c('ListSort',{attrs:{\"list\":list,\"compare\":_vm.compareProjects},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar list = ref.list;\nreturn _vm._l((list),function(project){return _c('ProjectSelectListItem',{key:project.id,class:{\n                      open: _vm.projectCurrent && _vm.projectCurrent.id === project.id\n                    },attrs:{\"project\":project},on:{\"remove\":function($event){return _vm.removeProject(project)},\"favorite\":function($event){return _vm.toggleFavorite(project)}},nativeOn:{\"click\":function($event){return _vm.openProject(project)}}})})}}],null,true)})]}}],null,true)})})],2):_c('div',{staticClass:\"vue-ui-empty\"},[_c('VueIcon',{staticClass:\"empty-icon\",attrs:{\"icon\":\"attach_file\"}}),_c('div',[_vm._v(_vm._s(_vm.$t('org.vue.components.project-select-list.empty')))])],1)]:(loading)?_c('VueLoadingIndicator',{staticClass:\"overlay\"}):_vm._e()]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"project-select-list\">\n    <ApolloQuery\n      :query=\"require('@/graphql/project/projects.gql')\"\n    >\n      <template slot-scope=\"{ result: { data, loading } }\">\n        <template v-if=\"data\">\n          <div v-if=\"data.projects.length\">\n            <div class=\"toolbar\">\n              <VueInput\n                v-model=\"search\"\n                icon-left=\"search\"\n                class=\"round\"\n              />\n            </div>\n\n            <ListFilter\n              v-for=\"favorite of [true, false]\"\n              :key=\"favorite\"\n              :list=\"filterProjects(data.projects)\"\n              :filter=\"item => !!item.favorite === favorite\"\n            >\n              <template slot-scope=\"{ list }\">\n                <div\n                  v-if=\"data.projects.find(item => item.favorite)\"\n                  class=\"cta-text\"\n                  :class=\"favorite ? 'favorite' : 'other'\"\n                >\n                  {{ $t(`org.vue.components.project-select-list.titles.${favorite ? 'favorite' : 'other'}`) }}\n                </div>\n\n                <ListSort\n                  :list=\"list\"\n                  :compare=\"compareProjects\"\n                >\n                  <template slot-scope=\"{ list }\">\n                    <ProjectSelectListItem\n                      v-for=\"project of list\"\n                      :key=\"project.id\"\n                      :project=\"project\"\n                      :class=\"{\n                        open: projectCurrent && projectCurrent.id === project.id\n                      }\"\n                      @click.native=\"openProject(project)\"\n                      @remove=\"removeProject(project)\"\n                      @favorite=\"toggleFavorite(project)\"\n                    />\n                  </template>\n                </ListSort>\n              </template>\n            </ListFilter>\n          </div>\n          <div v-else class=\"vue-ui-empty\">\n            <VueIcon icon=\"attach_file\" class=\"empty-icon\"/>\n            <div>{{ $t('org.vue.components.project-select-list.empty') }}</div>\n          </div>\n        </template>\n\n        <VueLoadingIndicator\n          v-else-if=\"loading\"\n          class=\"overlay\"\n        />\n      </template>\n    </ApolloQuery>\n  </div>\n</template>\n\n<script>\nimport { generateSearchRegex } from '@/util/search'\n\nimport PROJECTS from '@/graphql/project/projects.gql'\nimport PROJECT_CURRENT from '@/graphql/project/projectCurrent.gql'\nimport PROJECT_OPEN from '@/graphql/project/projectOpen.gql'\nimport PROJECT_REMOVE from '@/graphql/project/projectRemove.gql'\nimport PROJECT_SET_FAVORITE from '@/graphql/project/projectSetFavorite.gql'\n\nexport default {\n  data () {\n    return {\n      search: ''\n    }\n  },\n\n  apollo: {\n    projectCurrent: PROJECT_CURRENT\n  },\n\n  methods: {\n    async openProject (project) {\n      if (!this.projectCurrent || this.projectCurrent.id !== project.id) {\n        await this.$apollo.mutate({\n          mutation: PROJECT_OPEN,\n          variables: {\n            id: project.id\n          }\n        })\n      }\n\n      this.$router.push({ name: 'project-home' })\n    },\n\n    async removeProject (project) {\n      await this.$apollo.mutate({\n        mutation: PROJECT_REMOVE,\n        variables: {\n          id: project.id\n        },\n        update: store => {\n          let data = store.readQuery({ query: PROJECTS })\n          // TODO this is a workaround\n          // See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473\n          data = {\n            projects: [...data.projects]\n          }\n          const index = data.projects.findIndex(\n            p => p.id === project.id\n          )\n          if (index !== -1) data.projects.splice(index, 1)\n          store.writeQuery({ query: PROJECTS, data })\n        }\n      })\n    },\n\n    async toggleFavorite (project) {\n      await this.$apollo.mutate({\n        mutation: PROJECT_SET_FAVORITE,\n        variables: {\n          id: project.id,\n          favorite: project.favorite ? 0 : 1\n        }\n      })\n    },\n\n    compareProjects (a, b) {\n      return a.name.localeCompare(b.name)\n    },\n\n    filterProjects (projects) {\n      const reg = generateSearchRegex(this.search)\n      if (reg) {\n        return projects.filter(\n          p => reg.test(p.path)\n        )\n      }\n      return projects\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" scoped>\n.project-select-list\n  height 100%\n  overflow-y auto\n  position relative\n  min-height 400px\n\n.toolbar\n  h-box()\n  box-center()\n  margin-bottom $padding-item\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelectList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectSelectList.vue?vue&type=template&id=7fe81cfe&scoped=true&\"\nimport script from \"./ProjectSelectList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectSelectList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectSelectList.vue?vue&type=style&index=0&id=7fe81cfe&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7fe81cfe\",\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}