{"version":3,"sources":["webpack:///./issuable/components/issue_assignees.vue","webpack:///./issuable/components/issue_assignees.vue?30e3","webpack:///issuable/components/issue_assignees.vue","webpack:///./issuable/components/issue_assignees.vue?8e0e","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?5b71","webpack:///vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?7c05","webpack:///./vue_shared/components/work_item_attribute.vue","webpack:///./vue_shared/components/work_item_attribute.vue?cd7f","webpack:///vue_shared/components/work_item_attribute.vue","webpack:///./vue_shared/components/work_item_attribute.vue?aa8c","webpack:///./vue_shared/components/page_size_selector.vue","webpack:///vue_shared/components/page_size_selector.vue","webpack:///./vue_shared/components/page_size_selector.vue?9bb9","webpack:///./vue_shared/components/page_size_selector.vue?726c","webpack:///./vue_shared/components/modal_copy_button.vue","webpack:///./vue_shared/components/modal_copy_button.vue?eab4","webpack:///vue_shared/components/modal_copy_button.vue","webpack:///./vue_shared/components/modal_copy_button.vue?ef3f","webpack:///./issues/list/components/empty_state_without_any_issues.vue","webpack:////build/source/node_modules/@gitlab/svgs/dist/illustrations/empty-state/empty-issues-add-md.svg","webpack:///./issues/list/components/empty_state_without_any_issues.vue?94c3","webpack:///issues/list/components/empty_state_without_any_issues.vue","webpack:///./issues/list/components/empty_state_without_any_issues.vue?8b27","webpack:////build/source/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue","webpack:///./issues/list/components/issue_card_statistics.vue?b89e","webpack:///issues/list/components/issue_card_statistics.vue","webpack:///./issues/list/components/issue_card_statistics.vue?177c","webpack:///./issues/list/components/issue_card_statistics.vue","webpack:////build/source/ee/app/assets/javascripts/issues/components/blocking_issues_count.vue?e3b6","webpack:///../../../ee/app/assets/javascripts/issues/components/blocking_issues_count.vue","webpack:////build/source/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue?a1a2","webpack:///../../../ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue","webpack:////build/source/ee/app/assets/javascripts/issues/components/blocking_issues_count.vue?3de6","webpack:////build/source/ee/app/assets/javascripts/issues/components/blocking_issues_count.vue","webpack:////build/source/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue?d029","webpack:////build/source/ee/app/assets/javascripts/issues/list/utils.js","webpack:///./vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue","webpack:///./vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue?9e55","webpack:///vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue","webpack:///./vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue?c72e","webpack:////build/source/ee/app/assets/javascripts/sidebar/constants.js","webpack:///./issues/list/eventhub.js","webpack:///./issuable/components/issuable_by_email.vue","webpack:///./issuable/components/issuable_by_email.vue?0ec9","webpack:///issuable/components/issuable_by_email.vue","webpack:///./issuable/components/issuable_by_email.vue?603b","webpack:///./issues/list/queries/set_sort_preference.mutation.graphql","webpack:///./issues/list/queries/reorder_issues.mutation.graphql","webpack:///./filtered_search/services/recent_searches_service_error.js","webpack:///./filtered_search/services/recent_searches_service.js","webpack:////build/source/ee/app/assets/javascripts/related_items_tree/components/issue_health_status.vue","webpack:////build/source/ee/app/assets/javascripts/related_items_tree/components/issue_health_status.vue?6a70","webpack:///../../../ee/app/assets/javascripts/related_items_tree/components/issue_health_status.vue","webpack:////build/source/ee/app/assets/javascripts/related_items_tree/components/issue_health_status.vue?ce73","webpack:///../images/no_avatar.png","webpack:///./vue_shared/components/new_resource_dropdown/new_resource_dropdown.vue","webpack:///./vue_shared/components/new_resource_dropdown/new_resource_dropdown.vue?301a","webpack:///vue_shared/components/new_resource_dropdown/new_resource_dropdown.vue","webpack:///./vue_shared/components/new_resource_dropdown/new_resource_dropdown.vue?e350","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/input-group/input-group-text.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/input-group/input-group-addon.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/input-group/input-group-append.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/input-group/input-group.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/form/form_input_group/form_input_group_mixin.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/form/form_input_group/form_input_group.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/dropdown/dropdown_text.js","webpack:///./work_items/components/work_item_type_icon.vue","webpack:///./work_items/components/work_item_type_icon.vue?4fe7","webpack:///work_items/components/work_item_type_icon.vue","webpack:///./work_items/components/work_item_type_icon.vue?1c28","webpack:////build/source/node_modules/@gitlab/svgs/dist/illustrations/empty-state/empty-epic-md.svg","webpack:///./work_items/components/work_item_drawer.vue","webpack:///./work_items/components/work_item_drawer.vue?52f7","webpack:///work_items/components/work_item_drawer.vue","webpack:///./work_items/components/work_item_drawer.vue?b93e","webpack:///./vue_shared/components/filtered_search_bar/filtered_search_utils.js","webpack:////build/source/ee/app/assets/javascripts/issues/list/components/issue_card_time_info.vue","webpack:///./issues/list/components/issue_card_time_info.vue?247e","webpack:///issues/list/components/issue_card_time_info.vue","webpack:////build/source/ee/app/assets/javascripts/issues/list/components/issue_card_time_info.vue?ae50","webpack:///../../../ee/app/assets/javascripts/issues/list/components/issue_card_time_info.vue","webpack:///./issues/list/components/issue_card_time_info.vue?3fc4","webpack:///./issues/list/components/issue_card_time_info.vue","webpack:////build/source/ee/app/assets/javascripts/issues/list/components/issue_card_time_info.vue?752c","webpack:///./filtered_search/stores/recent_searches_store.js","webpack:////build/source/node_modules/@gitlab/svgs/dist/illustrations/empty-state/empty-search-md.svg","webpack:///./work_items/graphql/delete_work_item.mutation.graphql","webpack:///./sortable/constants.js","webpack:///./issues/list/queries/search_labels.query.graphql","webpack:////build/source/ee/app/assets/javascripts/filtered_search/recent_searches_storage_keys.js","webpack:///./issuable/components/csv_import_export_buttons.vue","webpack:///./issuable/components/csv_export_modal.vue?ca45","webpack:///issuable/components/csv_export_modal.vue","webpack:///./issuable/components/csv_export_modal.vue?09d3","webpack:///./issuable/components/csv_export_modal.vue","webpack:///./issuable/components/csv_import_modal.vue?9736","webpack:///issuable/components/csv_import_modal.vue","webpack:///./issuable/components/csv_import_modal.vue?0e79","webpack:///./issuable/components/csv_import_modal.vue","webpack:///./issuable/components/csv_import_export_buttons.vue?2b71","webpack:///issuable/components/csv_import_export_buttons.vue","webpack:///./issuable/components/csv_import_export_buttons.vue?01a0","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue?c50c","webpack:///vue_shared/components/user_avatar/user_avatar_link.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue?d6b5","webpack:///./vue_shared/components/new_resource_dropdown/graphql/search_user_projects_with_issues_enabled.query.graphql","webpack:///./issues/list/components/empty_state_with_any_issues.vue","webpack:////build/source/node_modules/@gitlab/svgs/dist/illustrations/empty-state/empty-issues-md.svg","webpack:///./issues/list/components/empty_state_with_any_issues.vue?26f3","webpack:///issues/list/components/empty_state_with_any_issues.vue","webpack:///./issues/list/components/empty_state_with_any_issues.vue?a4d9","webpack:///./issues/list/queries/label.fragment.graphql","webpack:///./issues/list/queries/search_projects.query.graphql","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/token/token.js","webpack:///./issues/show/utils/issuable_data.js","webpack:////build/source/ee/app/assets/javascripts/issues/list/queries/get_issues_counts.query.graphql","webpack:///./vue_shared/issuable/list/components/issuable_list_root.vue","webpack:///vue_shared/issuable/list/components/issuable_bulk_edit_sidebar.vue","webpack:///./vue_shared/issuable/list/components/issuable_bulk_edit_sidebar.vue?f19c","webpack:///./vue_shared/issuable/list/components/issuable_bulk_edit_sidebar.vue?1abf","webpack:///./vue_shared/issuable/list/components/issuable_bulk_edit_sidebar.vue","webpack:///./work_items/components/work_item_prefetch.vue?4fbc","webpack:///work_items/components/work_item_prefetch.vue","webpack:///./work_items/components/work_item_prefetch.vue","webpack:///./vue_shared/issuable/list/components/issuable_item.vue?2307","webpack:///vue_shared/issuable/list/components/issuable_item.vue","webpack:///./vue_shared/issuable/list/components/issuable_item.vue?04ad","webpack:///./vue_shared/issuable/list/components/issuable_item.vue","webpack:///./vue_shared/issuable/list/components/issuable_tabs.vue?956f","webpack:///vue_shared/issuable/list/components/issuable_tabs.vue","webpack:///./vue_shared/issuable/list/components/issuable_tabs.vue?7f05","webpack:///./vue_shared/issuable/list/components/issuable_tabs.vue","webpack:///./vue_shared/issuable/list/components/issuable_grid.vue?ac2a","webpack:///./vue_shared/issuable/list/components/issuable_grid.vue","webpack:///vue_shared/issuable/list/components/issuable_list_root.vue","webpack:///./vue_shared/issuable/list/components/issuable_list_root.vue?35e8","webpack:///./vue_shared/issuable/list/components/issuable_list_root.vue?0fbe","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/keyset_pagination/keyset_pagination.js","webpack:///./vue_shared/issuable/list/components/issuable_milestone.vue","webpack:///./vue_shared/issuable/list/components/issuable_milestone.vue?4c9a","webpack:///vue_shared/issuable/list/components/issuable_milestone.vue","webpack:///./vue_shared/issuable/list/components/issuable_milestone.vue?5c04","webpack:///./filtered_search/constants.js","webpack:///./issues/list/has_new_issue_dropdown_mixin.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/pagination/pagination.js","webpack:///./lib/utils/scroll_utils.js","webpack:///./vue_shared/components/new_resource_dropdown/constants.js","webpack:///./filtered_search/recent_searches_storage_keys.js","webpack:///./issues/list/components/issues_list_app.vue","webpack:///issues/list/components/issues_list_app.vue","webpack:///./issues/list/components/issues_list_app.vue?bb75","webpack:///./issues/list/components/issues_list_app.vue?5d85","webpack:///./vue_shared/components/empty_result.vue","webpack:///vue_shared/components/empty_result.vue","webpack:///./vue_shared/components/empty_result.vue?01ca","webpack:///./vue_shared/components/empty_result.vue?6a49"],"names":["components","UserAvatarLink","directives","GlTooltip","GlTooltipDirective","props","assignees","type","Array","required","iconSize","Number","default","imgCssClasses","String","maxVisible","data","maxAssignees","computed","assigneesToShow","numShownAssignees","length","numHiddenAssignees","slice","assigneesCounterTooltip","sprintf","__","count","assigneeCounterLabel","methods","avatarUrlTitle","assignee","assigneeName","name","assigneeHref","web_path","webPath","avatarUrl","avatar_url","component","_vm","this","_c","_self","_l","key","id","staticClass","attrs","_v","_s","s__","username","_e","rawName","modifiers","GlAvatar","lazy","Boolean","imgSrc","defaultAvatarUrl","cssClasses","imgAlt","size","Object","tooltipText","tooltipPlacement","pseudo","sanitizedSource","baseSrc","indexOf","includes","maximumSize","_isObject","Math","max","values","resultantSrcAttribute","placeholderImage","ref","class","style","backgroundImage","undefined","$scopedSlots","$refs","userAvatar","_t","GlIcon","GlLink","anchorId","wrapperComponent","wrapperComponentClass","title","titleComponentClass","iconName","iconClass","isLink","href","tag","wrapperRef","PAGE_SIZES","map","value","text","n__","GlCollapsibleListbox","selectedItem","_this","find","toggleText","emitInput","pageSize","$emit","$options","on","$event","GlButton","_uniqueId","container","modalId","target","tooltipContainer","category","modalDomId","mounted","$nextTick","clipboard","ClipboardJS","$el","document","querySelector","getElementById","body","e","$root","BV_HIDE_TOOLTIP","clearSelection","trigger","blur","destroyed","destroy","placement","expression","i18n","jiraIntegrationMessage","emptyStateSvg","issuesHelpPagePath","helpPagePath","jiraIntegrationPath","anchor","CsvImportExportButtons","GlDisclosureDropdown","GlEmptyState","GlSprintf","NewResourceDropdown","mixins","hasNewIssueDropdown","inject","currentTabCount","exportCsvPathWithQuery","showCsvButtons","showNewIssueDropdown","showIssuableByEmail","createProjectMessage","isSignedIn","isProject","scopedSlots","_u","fn","canCreateProjects","proxy","searchProjectsQuery","newIssueDropdownQueryVariables","extractProjects","groupId","showNewIssueLink","newIssuePath","newProjectPath","content","signInPath","issue","downvotes","_findAwardEmojiWidget","findAwardEmojiWidget","upvotes","_findAwardEmojiWidget2","mergeRequestsCount","hasBlockedIssuesFeature","blockingIssuesCount","isListItem","showBlockingIssuesCount","BlockingIssuesCount","IssueCardStatistics","blockingCount","getDefaultWorkItemTypes","hasEpicsFeature","hasOkrsFeature","hasQualityManagementFeature","types","getDefaultWorkItemTypesCE","push","WORK_ITEM_TYPE_ENUM_EPIC","WORK_ITEM_TYPE_ENUM_KEY_RESULT","WORK_ITEM_TYPE_ENUM_OBJECTIVE","WORK_ITEM_TYPE_ENUM_TEST_CASE","getTypeTokenOptions","options","getTypeTokenOptionsCE","icon","GlFilteredSearch","GlSorting","GlFormCheckbox","namespace","recentSearchesStorageKey","tokens","sortOptions","initialFilterValue","initialSortBy","validator","test","showCheckbox","checkboxChecked","searchInputPlaceholder","suggestionsListClass","searchButtonAttributes","searchInputAttributes","showFriendlyText","syncFilterAndSort","termsAsTokens","searchTextOptionLabel","showSearchButton","initialRender","recentSearchesPromise","recentSearches","filterValue","getInitialSort","tokenSymbols","reduce","token","symbol","tokenTitles","transformedSortOptions","selectedSortDirection","sortDirectionAscending","SORT_DIRECTION","ascending","descending","selectedSortOption","sortOption","sortById","filteredRecentSearches","knownItems","historyItems","item","sanitizedItem","uniqueTokens","itemString","JSON","stringify","watch","newValue","newInitialSortBy","updateSelectedSortValues","handler","immediate","setupRecentSearch","_this2","recentSearchesService","RecentSearchesService","RecentSearchesStorageKeys","recentSearchesStore","RecentSearchesStore","isLocalStorageAvailable","isAvailable","allowedKeys","fetch","catch","error","createAlert","message","then","searches","resultantSearches","setRecentSearches","state","concat","filterEmptySearchTerm","addRecentSearch","save","blurSearchInput","searchInputEl","filteredSearchInput","removeQuotesEnclosure","filters","filter","valueString","stripQuotes","operator","handleSortByChange","sortDirection","handleSortDirectionChange","isAscending","handleHistoryItemSelected","handleClearHistory","_this3","filterTokens","historyTokenOptionTitle","historyToken","_this$tokens$find","tokenOption","option","onClear","assign","_this$sortOptions$","onInput","handleFilterSubmit","historyItem","index","model","callback","$$v","none","HEALTH_STATUS_I18N_ASSIGN_HEALTH_STATUS","HEALTH_STATUS_I18N_FETCH_ERROR","HEALTH_STATUS_I18N_HEALTH_STATUS","HEALTH_STATUS_I18N_NO_STATUS","HEALTH_STATUS_I18N_NONE","HEALTH_STATUS_I18N_SELECT_HEALTH_STATUS","HEALTH_STATUS_I18N_UPDATE_ERROR","HEALTH_STATUS_OPEN_DROPDOWN_DELAY","HEALTH_STATUS_AT_RISK","HEALTH_STATUS_NEEDS_ATTENTION","HEALTH_STATUS_ON_TRACK","healthStatusTextMap","healthStatusVariantMap","healthStatusIconMap","healthStatusColorMap","healthStatusForRestApi","NO_STATUS","healthStatusDropdownOptions","healthStatusTracking","event","Tracking","editEvent","label","rightSidebarLabel","property","iterationSelectTextMap","iteration","noIteration","assignIteration","iterationSelectFail","currentIterationFetchError","iterationsFetchError","noIterationsFound","noAttributeId","noEpic","placeholderEpic","SIDEBAR_ESCALATION_POLICY_TITLE","MAX_DISPLAY_WEIGHT","CVE_ID_REQUEST_SIDEBAR_I18N","action","description","createRequest","whyRequest","whyText1","whyText2","learnMore","IssuableAttributeType","IssuableAttributeTypeFoss","Iteration","Epic","EscalationPolicy","Parent","LocalizedIssuableAttributeType","LocalizedIssuableAttributeTypeFoss","IssuableAttributeTypeKeyMap","_invert","IssuableAttributeState","IssuableAttributeStateFoss","dropdowni18nText","issuableAttribute","issuableType","noAttributesFound","dropdowni18nTextFoss","i18nHelpText","detail","linkText","i18nPolicyText","paged","i18nStatusHeaderText","STOPS_PAGING","STATUS_SUBTEXTS","STATUS_TRIGGERED","STATUS_ACKNOWLEDGED","STATUS_RESOLVED","createEventHub","sendEmail","GlModal","GlFormInputGroup","HelpIcon","ModalCopyButton","GlModalDirective","initialEmail","TYPE_ISSUE","emailsHelpPagePath","quickActionsHelpPath","markdownHelpPath","resetPath","email","issuableName","mailToLink","subject","new_address","newAddress","axios","put","$toast","show","cancelHandler","modal","hide","resetIncomingEmailToken","doc","loc","source","definitionRefs","findOperation","i","definitions","element","forEach","def","refs","Set","collectFragmentReferences","node","kind","add","selectionSet","selections","selection","variableDefinitions","module","exports","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","prevRefs","has","childRef","op","oneQuery","RecentSearchesServiceError","Error","constructor","super","localStorageKey","Promise","reject","input","window","localStorage","getItem","parse","err","resolve","setItem","AccessorUtilities","canUseLocalStorage","GlBadge","healthStatus","keys","displayAsText","textSize","disableTooltip","statusText","statusClass","statusIcon","statusColor","textSizeClass","disabled","noMatchesFound","toggleButtonLabel","GlDropdown","GlDropdownItem","GlDropdownText","GlLoadingIcon","GlSearchBoxByType","LocalStorageSync","resourceType","RESOURCE_TYPE_ISSUE","RESOURCE_TYPES","query","searchUserProjectsWithIssuesEnabled","queryVariables","Function","_data$projects","projects","nodes","withLocalStorage","search","selectedProject","shouldSkipQuery","apollo","variables","update","captureError","skip","debounce","DEBOUNCE_DELAY","resourceOptions","RESOURCE_OPTIONS","defaultDropdownText","dropdownHref","hasSelectedProject","joinPaths","webUrl","DASH_SCOPE","path","dropdownText","project","showNoSearchResultsText","selectedProjectForLocalStorage","handleDropdownClick","dropdown","handleDropdownShown","focusInput","selectProject","initFromLocalStorage","storedProject","url","endsWith","dashSuffix","trim","$apollo","queries","loading","nameWithNamespace","BInputGroupText","functional","h","_ref","children","append","isText","BInputGroupAddon","BInputGroupAppend","BInputGroupPrepend","appendHtml","prepend","prependHtml","BInputGroup","slots","$slots","slotScope","$prepend","hasPrependSlot","domProps","html","$append","hasAppendSlot","role","InputGroupMixin","localValue","stringifyValue","newVal","activeOption","predefinedOptions","opt","__vue_script__","BFormInput","inheritAttrs","selectOnClick","every","inputClass","select","__vue_component__","render","_h","$createElement","updateValue","_g","_b","handleClick","$attrs","$listeners","staticRenderFns","textClass","variant","BDropdownText","workItemType","showText","workItemIconName","showTooltipOnHover","iconVariant","workItemTypeUppercase","toUpperCase","split","join","_WORK_ITEMS_TYPE_MAP$","WORK_ITEMS_TYPE_MAP","workItemTypeName","_WORK_ITEMS_TYPE_MAP$2","workItemTooltipTitle","GlOutside","GlOutsideDirective","GlDrawer","WorkItemDetail","glFeatureFlagMixin","open","activeItem","clickOutsideExcludeSelector","copyTooltipText","activeItemFullPath","makeDrawerItemFullPath","fullPath","modalIsGroup","toLowerCase","TYPE_EPIC","headerReference","substring","lastIndexOf","iid","issueAsWorkItem","isGroup","glFeatures","workItemsViewPreference","gon","current_user_use_work_items_view","deep","setDrawerParams","focusOnHeaderLink","workItemId","_data$workItemDelete$","mutate","mutation","deleteWorkItemMutation","workItemDelete","errors","Sentry","redirectToWorkItem","workItem","metaKey","ctrlKey","preventDefault","preventRouterNav","$router","canRouterNav","params","visitUrl","handleCopyToClipboard","copiedTooltipText","setTimeout","makeDrawerUrlParam","updateHistory","setUrlParams","DETAIL_VIEW_QUERY_PARAM_NAME","handleClose","isClickedOutside","_document$getElementB","removeParams","getIdFromGraphQLId","focus","handleClickOutside","selector","defaultExcludedSelectors","excludedElements","querySelectorAll","parent","contains","_this$$refs","workItemUrl","openTooltipText","deleteWorkItem","knownTokens","uniques","FILTERED_SEARCH_TERM","tokenString","createToken","prepareTokens","memo","isArray","processFilters","acc","_token$value","_token$value2","filteredSearchQueryParam","filterToQueryObject","filteredSearchTermKey","customOperators","shouldExcludeEmpty","operators","prefix","result","applyOnlyToKey","_value","_isEmpty","filteredSearchTermValue","term","urlQueryToFilter","filterNamesAllowList","_isString","queryToObject","gatherArrays","filterName","startsWith","extractNameAndOperator","previousValues","newAdditions","getRecentlyUsedSuggestions","recentSuggestionsStorageKey","appliedTokens","valueIdentifier","recentlyUsedSuggestions","suggestion","some","appliedToken","setTokenValueToRecentlyUsed","tokenValue","splice","_uniqWith","_isEqual","MAX_RECENT_TOKENS_SIZE","IssuableMilestone","WorkItemAttribute","isWorkItemList","milestone","_this$issue$widgets","widgets","isMilestoneWidget","dueDate","_this$issue$widgets2","isStartAndDueDateWidget","dueDateText","startDate","humanTimeframe","newDate","localeDateFormat","asDate","format","isClosed","STATUS_CLOSED","STATE_CLOSED","isOverdue","isInPast","dueDateTitle","dateIcon","_this$issue$widgets3","timeEstimate","_this$issue$timeStats","humanTimeEstimate","timeStats","IssueCardTimeInfo","IssueHealthStatus","isHealthStatusWidget","showHealthStatus","hasIssuableHealthStatusFeature","weight","isWeightWidget","showWeight","hasIssueWeightsFeature","initialState","newSearch","trimmedSearches","MAX_HISTORY_SIZE","DRAG_CLASS","DRAG_DELAY","defaultSortableOptions","animation","forceFallback","fallbackClass","fallbackOnBody","ghostClass","fallbackTolerance","names","recentSearchesStorageKeysCE","epics","requirements","test_cases","jira_issues","actionCancel","exportText","exportCsvPath","issuableCount","actionPrimary","attributes","dataTrackLabel","isIssue","issuableCountText","maximumFileSizeText","importIssuesText","uploadCsvFileText","mainText","helpText","GlFormGroup","importCsvIssuesPath","maxAttachmentSize","maxFileSizeText","submitForm","form","submit","csrf","GlDisclosureDropdownItem","CsvExportModal","CsvImportModal","showExportButton","showImportButton","canEdit","projectImportJiraPath","trackImportClick","dropdownItems","exportAsCSV","importCSV","importFromJIRA","exportModalId","importModalId","UserAvatarImage","GlAvatarLink","linkHref","imgCssWrapperClasses","imgSize","popoverUserId","popoverUsername","userId","shouldShowUsername","avatarTooltipText","stopPropagation","hasSearch","isEpic","isOpenTab","closedTabTitle","openTabTitle","svgPath","epicEmptyStateSvg","issuesEmptyStateSvg","CloseButton","viewOnly","removeLabel","variantClass","viewOnlyClass","close","SUPPORT_BOT_USERNAME","issuableInitialDataById","_el$dataset","el","dataset","initial","isLegacyIssueType","issuableData","issueType","authorUsername","isIssuableServiceDeskIssue","getLayoutPage","expanded","layoutPageEl","classList","toggle","workItemIid","workItemFullPath","skipQuery","workItemByIidQuery","_data$workspace$workI","workspace","prefetchWorkItem","prefetch","DEFAULT_DEBOUNCE_AND_THROTTLE_MS","clearPrefetching","clearTimeout","GlLabel","IssuableAssignees","WorkItemTypeIcon","WorkItemPrefetch","WorkItemRelationshipIcons","timeagoMixin","hasScopedLabelsFeature","issuableSymbol","issuable","labelFilterParam","checked","showWorkItemTypeIcon","isActive","preventRedirect","issuableId","issuableIid","_this$issuable$namesp","_this$issuable$refere","reference","isIncident","_this$issuable$workIt","WORK_ITEM_TYPE_VALUE_INCIDENT","isServiceDeskIssue","_this$issuable$workIt2","_this$issuable","WORK_ITEM_TYPE_VALUE_ISSUE","author","externalAuthor","issuableLinkHref","gitlabWebUrl","authorId","isIssuableUrlExternal","_this$issuableLinkHre","isExternal","_this$issuable$workIt3","labels","_this$issuable$labels","_this$issuable$widget","isLabelsWidget","labelIdsString","_this$issuable$assign","_this$issuable$widget2","isAssigneesWidget","filteredLinkedItems","_findLinkedItemsWidge","findLinkedItemsWidget","linkedItems","linkType","LINKED_CATEGORIES_MAP","RELATES_TO","createdAt","timeFormatted","isOpen","STATUS_OPEN","STATE_OPEN","statusTooltip","mergedAt","tooltipTitle","timestamp","closedAt","updatedAt","formattedTimestamp","timeago","timeAgo","issuableTitleProps","taskStatus","completedCount","taskCompletionStatus","notesCount","_this$issuable$userDi","userDiscussionsCount","userNotesCount","showDiscussions","showIssuableMeta","hasSlotContents","issuableNotesLink","setUrlFragment","statusBadgeVariant","isMergeRequest","__typename","hiddenIssuableTitle","listItemUniqueId","slotName","scopedLabel","_this$issuable$widget3","allowsScopedLabels","isScopedLabel","labelTitle","labelTarget","encodeURIComponent","getAuthorPopoverTarget","authorLink","handleIssuableItemClick","button","navigateToIssuable","handleRowClick","closed","confidential","hidden","apply","arguments","nativeOn","color","status","GlTabs","GlTab","tabs","tabCounts","currentTab","truncateCounts","isTabActive","tabName","isTabCountNumeric","tab","isInteger","formatNumber","numberToMetricPrefix","titleTooltip","VueDraggable","vueDraggableAttributes","delay","delayOnTouchOnly","GlAlert","GlKeysetPagination","GlSkeletonLoader","IssuableTabs","FilteredSearchBar","IssuableItem","IssuableGrid","IssuableBulkEditSidebar","GlPagination","PageSizeSelector","EmptyResult","searchTokens","urlParams","issuables","issuablesLoading","showPaginationControls","showBulkEditSidebar","defaultPageSize","totalItems","currentPage","previousPage","nextPage","isManualOrdering","useKeysetPagination","hasNextPage","hasPreviousPage","showFilteredSearchFriendlyText","showPageSizeSelector","isGridView","activeIssuable","issuableItemClass","checkedIssuableIds","skeletonItemCount","totalPages","ceil","DEFAULT_SKELETON_COUNT","allIssuablesChecked","checkedIssuables","issuablesWrapper","gridViewFeatureEnabled","_this$glFeatures","issuesGridView","hasItems","location","replace","isIssuableChecked","updateCheckedIssuableIds","toCheck","isIdChecked","indexToDelete","findIndex","handleIssuableCheckedInput","issuableEventHub","handleAllIssuablesCheckedInput","handleVueDraggableUpdate","newIndex","oldIndex","handlePageSizeChange","newPageSize","isIssuableActive","_this$activeIssuable","PAGE_SIZE_STORAGE_KEY","n","GlButtonGroup","startCursor","endCursor","prevText","prevButtonLink","navigationLabel","nextText","nextButtonLink","milestoneDate","milestoneRemainingTime","milestoneLink","due","start","isToday","isInFuture","getTimeRemainingInWords","USER_TOKEN_TYPES","TOKEN_TYPE_AUTHOR","TOKEN_TYPE_ASSIGNEE","TOKEN_TYPE_APPROVED_BY","TOKEN_TYPE_MERGE_USER","TOKEN_TYPE_REVIEWER","DROPDOWN_TYPE","hint","FILTER_TYPE","any","FILTERED_SEARCH","MERGE_REQUESTS","ISSUES","_data$group","group","prop","x","perPage","limits","xs","sm","md","linkGen","prevPage","ellipsisText","labelNav","labelFirstPage","labelPrevPage","labelNextPage","labelLastPage","labelPage","align","left","breakpoint","getBreakpointSize","minTotalPagesToCollapse","isCompactPagination","paginationLimit","fill","classes","center","right","isFillAlign","diff","maxAdjacentPages","items","firstPage","shouldCollapseLeftSide","min","lastPage","shouldCollapseRightSide","from","to","page","getPageItem","getEllipsisItem","pageIsDisabled","prevPageIsDisabled","labelForPage","nextPageIsDisabled","isLinkBased","addEventListener","setBreakpoint","removeEventListener","commonAttrs","isActivePage","isDisabled","listeners","click","slot","slotData","active","side","wrapperClasses","prevPageAriaLabel","prevPageHref","handlePrevious","nextPageAriaLabel","nextPageHref","handleNext","canScroll","$","height","isScrolledToBottom","scrollHeight","scrollTop","clientHeight","documentElement","isScrolledToTop","scrollDown","$document","scrollUp","RESOURCE_TYPE_MERGE_REQUEST","RESOURCE_TYPE_MILESTONE","RECENT_SEARCHES_STORAGE_KEY_GROUPS","RECENT_SEARCHES_STORAGE_KEY_PROJECTS","issues","merge_requests","group_members","group_invited_members","project_members","project_group_links","UserToken","EmojiToken","LabelToken","MilestoneToken","ReleaseToken","CrmContactToken","CrmOrganizationToken","DateToken","issuableListTabs","ISSUES_VIEW_TYPE_KEY","ISSUES_GRID_VIEW_KEY","ISSUES_LIST_VIEW_KEY","GlDisclosureDropdownGroup","EmptyStateWithAnyIssues","EmptyStateWithoutAnyIssues","IssuableByEmail","IssuableList","WorkItemDrawer","eeSearchTokens","getExportCsvPathWithQuery","issuesCounts","issuesError","pageInfo","pageParams","sortKey","CREATED_DESC","DEFAULT_PAGE_SIZE","viewType","subscribeDropdownOptions","rssPath","extraAttrs","calendarPath","getIssuesQuery","_data$this$namespace$","_data$this$namespace","fetchPolicy","fetchPolicies","CACHE_AND_NETWORK","nextFetchPolicy","CACHE_FIRST","notifyOnNetworkStatusChange","_data$this$namespace$2","_data$this$namespace2","checkDrawerParams","errorFetchingIssues","hasAnyIssues","getIssuesCountsQuery","_data$this$namespace3","errorFetchingCounts","isIidSearch","ISSUE_REFERENCE","searchQuery","hideUsers","isPublicVisibilityRestricted","sort","apiFilterParams","defaultWorkItemTypes","WORKSPACE_PROJECT","WORKSPACE_GROUP","urlFilterParams","afterCursor","beforeCursor","isBulkEditButtonDisabled","RELATIVE_POSITION_ASC","canCreateIssue","hasAnyProjects","convertToApiParams","convertToUrlParams","convertToSearchQuery","preloadedUsers","current_user_id","convertToGraphQLId","TYPENAME_USER","current_user_fullname","current_username","current_user_avatar_url","TOKEN_TYPE_SEARCH_WITHIN","TOKEN_TITLE_SEARCH_WITHIN","GlFilteredSearchToken","unique","OPERATORS_IS","titles","descriptions","TOKEN_TITLE_AUTHOR","dataType","defaultUsers","OPERATORS_IS_NOT_OR","multiSelect","TOKEN_TITLE_ASSIGNEE","TOKEN_TYPE_MILESTONE","TOKEN_TITLE_MILESTONE","shouldSkipSort","TOKEN_TYPE_LABEL","TOKEN_TITLE_LABEL","fetchLabels","fetchLatestLabels","frontendCaching","TOKEN_TYPE_TYPE","TOKEN_TITLE_TYPE","typeTokenOptions","TOKEN_TYPE_RELEASE","TOKEN_TITLE_RELEASE","fetchReleases","TOKEN_TYPE_MY_REACTION","TOKEN_TITLE_MY_REACTION","fetchEmojis","TOKEN_TYPE_CONFIDENTIAL","TOKEN_TITLE_CONFIDENTIAL","confidentialYes","confidentialNo","hasIssueDateFilterFeature","TOKEN_TYPE_CREATED","TOKEN_TITLE_CREATED","OPERATORS_AFTER_BEFORE","TOKEN_TYPE_CLOSED","TOKEN_TITLE_CLOSED","canReadCrmContact","TOKEN_TYPE_CONTACT","TOKEN_TITLE_CONTACT","canReadCrmOrganization","TOKEN_TYPE_ORGANIZATION","TOKEN_TITLE_ORGANIZATION","a","b","localeCompare","isLoading","getSortOptions","openedIssues","closedIssues","allIssues","STATUS_ALL","_this$tabCounts$this$","_this$pageParams$afte","_this$pageParams$befo","base","urlSortParams","first_page_size","firstPageSize","last_page_size","lastPageSize","page_after","page_before","provider","clients","defaultClient","readQuery","isIssuableSelected","issuesDrawerEnabled","_this$glFeatures2","issuesListDrawer","$route","oldValue","updateData","getParameterByName","PARAM_SORT","created","initialSort","cache","eventHub","$on","toggleBulkEditSidebar","beforeDestroy","$off","fetchWithCache","cacheName","searchKey","fuzzaldrinPlus","MAX_LIST_SIZE","get","autocompleteAwardEmojisPath","releasesPath","fetchLabelsWithFetchPolicy","searchLabelsQuery","_data$_this2$namespac","NETWORK_ONLY","getStatus","moved","closedMoved","handleUpdateLegacyBulkEdit","hasInitBulkEdit","initBulkUpdateSidebar","handleClickTab","getInitialPageParams","handleDismissAlert","handleFilter","handleNextPage","handlePreviousPage","handleReorder","issueToMove","isDragDropDownwards","isMovingToBeginning","isMovingToEnd","moveBeforeId","moveAfterId","afterIndex","beforeIndex","move_before_id","move_after_id","serializedVariables","reorderIssuesMutation","handleSort","isIssueRepositioningDisabled","showIssueRepositioningMessage","saveSortPreference","setSortPreferenceMutation","issuesSort","userPreferencesUpdate","issueRepositioningMessage","VARIANT_INFO","_getParameterByName","_getParameterByName2","PARAM_FIRST_PAGE_SIZE","PARAM_LAST_PAGE_SIZE","PARAM_STATE","deriveSortKey","UPDATED_DESC","getFilterTokens","groupMultiSelectFilterTokens","isPositiveInteger","parseInt","PARAM_PAGE_AFTER","PARAM_PAGE_BEFORE","switchViewType","handleSelectIssuable","updateIssuablesCache","client","issuesList","refetchIssuables","mapWorkItemWidgetsToIssuableFields","list","writeQuery","promoteToObjective","_this4","updateQuery","produce","draftData","refetch","deleteIssuable","updateIssuableEmojis","updateUpvotesCount","queryParam","atob","full_path","canBulkUpdate","handleBulkUpdateClick","actionsLabel","TYPES","titleSearch","descriptionSearch","titleFilter","descriptionFilter","emptyStateSvgPath"],"mappings":"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","file":"1184.1cf06fdc.chunk.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._l((_vm.assigneesToShow),function(assignee){return _c('user-avatar-link',{key:assignee.id,staticClass:\"js-no-trigger author-link\",attrs:{\"link-href\":_vm.assigneeHref(assignee),\"img-alt\":_vm.avatarUrlTitle(assignee),\"img-css-classes\":_vm.imgCssClasses,\"img-css-wrapper-classes\":\"gl-inline-flex\",\"img-src\":_vm.avatarUrl(assignee),\"img-size\":_vm.iconSize,\"tooltip-placement\":\"bottom\",\"data-testid\":\"assignee-link\"}},[_c('span',{staticClass:\"js-assignee-tooltip\"},[_c('span',{staticClass:\"gl-block gl-font-bold\"},[_vm._v(_vm._s(_vm.s__('Label|Assignee')))]),_vm._v(\" \"+_vm._s(assignee.name)+\"\\n      \"),(assignee.username)?_c('span',[_vm._v(\"@\"+_vm._s(assignee.username))]):_vm._e()])])}),_vm._v(\" \"),(_vm.numHiddenAssignees > 0)?_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.bottom\",modifiers:{\"bottom\":true}}],staticClass:\"avatar-counter\",attrs:{\"title\":_vm.assigneesCounterTooltip,\"data-testid\":\"avatar-counter-content\"}},[_vm._v(_vm._s(_vm.assigneeCounterLabel))]):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_assignees.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_assignees.vue?vue&type=script&lang=js\"","<script>\nimport { GlTooltipDirective } from '@gitlab/ui';\nimport { __, sprintf } from '~/locale';\nimport UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';\n\nexport default {\n  components: {\n    UserAvatarLink,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    assignees: {\n      type: Array,\n      required: true,\n    },\n    iconSize: {\n      type: Number,\n      required: false,\n      default: 24,\n    },\n    imgCssClasses: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    maxVisible: {\n      type: Number,\n      required: false,\n      default: 3,\n    },\n  },\n  data() {\n    return {\n      maxAssignees: 99,\n    };\n  },\n  computed: {\n    assigneesToShow() {\n      const numShownAssignees = this.assignees.length - this.numHiddenAssignees;\n      return this.assignees.slice(0, numShownAssignees);\n    },\n    assigneesCounterTooltip() {\n      return sprintf(__('%{count} more assignees'), { count: this.numHiddenAssignees });\n    },\n    numHiddenAssignees() {\n      if (this.assignees.length > this.maxVisible) {\n        return this.assignees.length - this.maxVisible + 1;\n      }\n      return 0;\n    },\n    assigneeCounterLabel() {\n      if (this.numHiddenAssignees > this.maxAssignees) {\n        return `${this.maxAssignees}+`;\n      }\n\n      return `+${this.numHiddenAssignees}`;\n    },\n  },\n  methods: {\n    avatarUrlTitle(assignee) {\n      return sprintf(__('Assigned to %{assigneeName}'), {\n        assigneeName: assignee.name,\n      });\n    },\n    // This method is for backward compat\n    // since Graph query would return camelCase\n    // props while Rails would return snake_case\n    assigneeHref(assignee) {\n      return assignee.web_path || assignee.webPath;\n    },\n    avatarUrl(assignee) {\n      return assignee.avatar_url || assignee.avatarUrl;\n    },\n  },\n};\n</script>\n<template>\n  <div>\n    <user-avatar-link\n      v-for=\"assignee in assigneesToShow\"\n      :key=\"assignee.id\"\n      :link-href=\"assigneeHref(assignee)\"\n      :img-alt=\"avatarUrlTitle(assignee)\"\n      :img-css-classes=\"imgCssClasses\"\n      img-css-wrapper-classes=\"gl-inline-flex\"\n      :img-src=\"avatarUrl(assignee)\"\n      :img-size=\"iconSize\"\n      class=\"js-no-trigger author-link\"\n      tooltip-placement=\"bottom\"\n      data-testid=\"assignee-link\"\n    >\n      <span class=\"js-assignee-tooltip\">\n        <span class=\"gl-block gl-font-bold\">{{ s__('Label|Assignee') }}</span> {{ assignee.name }}\n        <span v-if=\"assignee.username\">@{{ assignee.username }}</span>\n      </span>\n    </user-avatar-link>\n    <span\n      v-if=\"numHiddenAssignees > 0\"\n      v-gl-tooltip.bottom\n      :title=\"assigneesCounterTooltip\"\n      class=\"avatar-counter\"\n      data-testid=\"avatar-counter-content\"\n      >{{ assigneeCounterLabel }}</span\n    >\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./issue_assignees.vue?vue&type=template&id=055aea2c\"\nimport script from \"./issue_assignees.vue?vue&type=script&lang=js\"\nexport * from \"./issue_assignees.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 render(){var _vm=this,_c=_vm._self._c;return _c('span',{ref:\"userAvatar\"},[_c('gl-avatar',{staticClass:\"gl-bg-cover\",class:{\n      lazy: _vm.lazy,\n      [_vm.cssClasses]: true,\n    },style:(_vm.pseudo ? { backgroundImage: `url('${_vm.sanitizedSource}')` } : null),attrs:{\"src\":_vm.pseudo ? undefined : _vm.resultantSrcAttribute,\"data-src\":_vm.sanitizedSource,\"size\":_vm.size,\"alt\":_vm.imgAlt,\"data-testid\":\"user-avatar-image\"}}),_vm._v(\" \"),(_vm.tooltipText || _vm.$scopedSlots.default)?_c('gl-tooltip',{attrs:{\"target\":() => _vm.$refs.userAvatar,\"placement\":_vm.tooltipPlacement,\"boundary\":\"window\"}},[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.tooltipText))]})],2):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"","<script>\n/* This is a re-usable vue component for rendering a user avatar that\n      does not need to link to the user's profile. The image and an optional\n      tooltip can be configured by props passed to this component.\n\n      Sample configuration:\n\n      <user-avatar\n        lazy\n        :img-src=\"userAvatarSrc\"\n        :img-alt=\"tooltipText\"\n        :tooltip-text=\"tooltipText\"\n        tooltip-placement=\"top\"\n        :size=\"24\"\n      />\n\n    */\n\nimport { GlTooltip, GlAvatar } from '@gitlab/ui';\nimport { isObject } from 'lodash';\nimport defaultAvatarUrl from 'images/no_avatar.png';\nimport { __ } from '~/locale';\nimport { placeholderImage } from '~/lazy_loader';\n\nexport default {\n  name: 'UserAvatarImage',\n  components: {\n    GlTooltip,\n    GlAvatar,\n  },\n  props: {\n    lazy: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    imgSrc: {\n      type: String,\n      required: false,\n      default: defaultAvatarUrl,\n    },\n    cssClasses: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    imgAlt: {\n      type: String,\n      required: false,\n      default: __('user avatar'),\n    },\n    size: {\n      type: [Number, Object],\n      required: true,\n    },\n    tooltipText: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    tooltipPlacement: {\n      type: String,\n      required: false,\n      default: 'top',\n    },\n    // Render avatar using pseudo-elements so that they cannot be selected or copied\n    pseudo: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    // API response sends null when gravatar is disabled and\n    // we provide an empty string when we use it inside user avatar link.\n    // In both cases we should render the defaultAvatarUrl\n    sanitizedSource() {\n      let baseSrc = this.imgSrc === '' || this.imgSrc === null ? defaultAvatarUrl : this.imgSrc;\n      // Only adds the width to the URL if its not a base64 data image\n      if (!(baseSrc.indexOf('data:') === 0) && !baseSrc.includes('?'))\n        baseSrc += `?width=${this.maximumSize}`;\n      return baseSrc;\n    },\n    maximumSize() {\n      if (isObject(this.size)) {\n        return Math.max(...Object.values(this.size)) * 2;\n      }\n      return this.size * 2;\n    },\n    resultantSrcAttribute() {\n      return this.lazy ? placeholderImage : this.sanitizedSource;\n    },\n  },\n};\n</script>\n\n<template>\n  <span ref=\"userAvatar\">\n    <gl-avatar\n      class=\"gl-bg-cover\"\n      :class=\"{\n        lazy: lazy,\n        [cssClasses]: true,\n      }\"\n      :src=\"pseudo ? undefined : resultantSrcAttribute\"\n      :style=\"pseudo ? { backgroundImage: `url('${sanitizedSource}')` } : null\"\n      :data-src=\"sanitizedSource\"\n      :size=\"size\"\n      :alt=\"imgAlt\"\n      data-testid=\"user-avatar-image\"\n    />\n\n    <gl-tooltip\n      v-if=\"tooltipText || $scopedSlots.default\"\n      :target=\"() => $refs.userAvatar\"\n      :placement=\"tooltipPlacement\"\n      boundary=\"window\"\n    >\n      <slot>{{ tooltipText }}</slot>\n    </gl-tooltip>\n  </span>\n</template>\n","import { render, staticRenderFns } from \"./user_avatar_image.vue?vue&type=template&id=0836472c\"\nimport script from \"./user_avatar_image.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_image.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 render(){var _vm=this,_c=_vm._self._c;return _c(_vm.isLink ? 'gl-link' : 'span',{tag:\"component\",attrs:{\"href\":_vm.href}},[_c(_vm.wrapperComponent,{ref:\"wrapperRef\",tag:\"component\",class:_vm.wrapperComponentClass,attrs:{\"data-testid\":_vm.anchorId}},[_vm._t(\"icon\",function(){return [(_vm.iconName)?_c('gl-icon',{class:_vm.iconClass,attrs:{\"name\":_vm.iconName,\"data-testid\":`${_vm.anchorId}-icon`}}):_vm._e()]}),_vm._v(\" \"),_vm._t(\"title\",function(){return [(_vm.title)?_c('span',{class:_vm.titleComponentClass,attrs:{\"data-testid\":`${_vm.anchorId}-title`}},[_vm._v(\"\\n        \"+_vm._s(_vm.title)+\"\\n      \")]):_vm._e()]})],2),_vm._v(\" \"),_c('gl-tooltip',{attrs:{\"target\":() => _vm.$refs.wrapperRef,\"placement\":_vm.tooltipPlacement}},[_vm._t(\"tooltip-text\",function(){return [(_vm.tooltipText)?[_vm._v(\"\\n        \"+_vm._s(_vm.tooltipText)+\"\\n      \")]:_vm._e()]})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_attribute.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_attribute.vue?vue&type=script&lang=js\"","<script>\nimport { GlTooltip, GlIcon, GlLink } from '@gitlab/ui';\n\nexport default {\n  components: {\n    GlTooltip,\n    GlIcon,\n    GlLink,\n  },\n  props: {\n    anchorId: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    wrapperComponent: {\n      type: String,\n      required: false,\n      default: 'span',\n    },\n    wrapperComponentClass: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    title: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    titleComponentClass: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    iconName: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    iconClass: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    tooltipText: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    tooltipPlacement: {\n      type: String,\n      required: false,\n      default: 'bottom',\n    },\n    isLink: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    href: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n};\n</script>\n\n<template>\n  <component :is=\"isLink ? 'gl-link' : 'span'\" :href=\"href\">\n    <!-- wrapper  -->\n    <component\n      :is=\"wrapperComponent\"\n      ref=\"wrapperRef\"\n      :class=\"wrapperComponentClass\"\n      :data-testid=\"anchorId\"\n    >\n      <!-- icon  -->\n      <slot name=\"icon\">\n        <gl-icon\n          v-if=\"iconName\"\n          :class=\"iconClass\"\n          :name=\"iconName\"\n          :data-testid=\"`${anchorId}-icon`\"\n        />\n      </slot>\n      <!-- title  -->\n      <slot name=\"title\">\n        <span v-if=\"title\" :class=\"titleComponentClass\" :data-testid=\"`${anchorId}-title`\">\n          {{ title }}\n        </span>\n      </slot>\n    </component>\n    <!-- tooltip  -->\n    <gl-tooltip :target=\"() => $refs.wrapperRef\" :placement=\"tooltipPlacement\">\n      <slot name=\"tooltip-text\">\n        <template v-if=\"tooltipText\">\n          {{ tooltipText }}\n        </template>\n      </slot>\n    </gl-tooltip>\n  </component>\n</template>\n","import { render, staticRenderFns } from \"./work_item_attribute.vue?vue&type=template&id=01c1b9ee\"\nimport script from \"./work_item_attribute.vue?vue&type=script&lang=js\"\nexport * from \"./work_item_attribute.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 render(){var _vm=this,_c=_vm._self._c;return _c('gl-collapsible-listbox',{attrs:{\"toggle-text\":_vm.toggleText,\"items\":_vm.$options.PAGE_SIZES,\"selected\":_vm.value},on:{\"select\":function($event){return _vm.emitInput($event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlCollapsibleListbox } from '@gitlab/ui';\nimport { n__ } from '~/locale';\n\nexport const PAGE_SIZES = [20, 50, 100].map((value) => ({\n  value,\n  text: n__('SecurityReports|Show %d item', 'SecurityReports|Show %d items', value),\n}));\n\nexport default {\n  components: { GlCollapsibleListbox },\n  props: {\n    value: {\n      type: Number,\n      required: true,\n    },\n  },\n  computed: {\n    selectedItem() {\n      return PAGE_SIZES.find(({ value }) => value === this.value);\n    },\n    toggleText() {\n      return this.selectedItem.text;\n    },\n  },\n  methods: {\n    emitInput(pageSize) {\n      this.$emit('input', pageSize);\n    },\n  },\n  PAGE_SIZES,\n};\n</script>\n\n<template>\n  <gl-collapsible-listbox\n    :toggle-text=\"toggleText\"\n    :items=\"$options.PAGE_SIZES\"\n    :selected=\"value\"\n    @select=\"emitInput($event)\"\n  />\n</template>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page_size_selector.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page_size_selector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./page_size_selector.vue?vue&type=template&id=28c3d0ea\"\nimport script from \"./page_size_selector.vue?vue&type=script&lang=js\"\nexport * from \"./page_size_selector.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 render(){var _vm=this,_c=_vm._self._c;return _c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:({ placement: _vm.tooltipPlacement, container: _vm.tooltipContainer }),expression:\"{ placement: tooltipPlacement, container: tooltipContainer }\"}],class:_vm.cssClasses,attrs:{\"id\":_vm.id,\"data-clipboard-target\":_vm.target,\"data-clipboard-text\":_vm.text,\"title\":_vm.title,\"aria-label\":_vm.title,\"category\":_vm.category,\"icon\":\"copy-to-clipboard\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal_copy_button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal_copy_button.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlTooltipDirective } from '@gitlab/ui';\nimport ClipboardJS from 'clipboard';\nimport { uniqueId } from 'lodash';\nimport { __ } from '~/locale';\nimport { BV_HIDE_TOOLTIP } from '~/lib/utils/constants';\n\nexport default {\n  components: {\n    GlButton,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    text: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    id: {\n      type: String,\n      required: false,\n      default: () => uniqueId('modal-copy-button-'),\n    },\n    container: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    cssClasses: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    modalId: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    target: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    title: {\n      type: String,\n      required: false,\n      default: __('Copy'),\n    },\n    tooltipPlacement: {\n      type: String,\n      required: false,\n      default: 'top',\n    },\n    tooltipContainer: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    category: {\n      type: String,\n      required: false,\n      default: 'primary',\n    },\n  },\n  computed: {\n    modalDomId() {\n      return this.modalId ? `#${this.modalId}` : '';\n    },\n  },\n  mounted() {\n    this.$nextTick(() => {\n      this.clipboard = new ClipboardJS(this.$el, {\n        container:\n          document.querySelector(`${this.modalDomId} div.modal-content`) ||\n          document.getElementById(this.container) ||\n          document.body,\n      });\n      this.clipboard\n        .on('success', (e) => {\n          this.$root.$emit(BV_HIDE_TOOLTIP, this.id);\n          this.$emit('success', e);\n          // Clear the selection and blur the trigger so it loses its border\n          e.clearSelection();\n          e.trigger.blur();\n        })\n        .on('error', (e) => this.$emit('error', e));\n    });\n  },\n  destroyed() {\n    if (this.clipboard) {\n      this.clipboard.destroy();\n    }\n  },\n};\n</script>\n<template>\n  <gl-button\n    :id=\"id\"\n    v-gl-tooltip=\"{ placement: tooltipPlacement, container: tooltipContainer }\"\n    :class=\"cssClasses\"\n    :data-clipboard-target=\"target\"\n    :data-clipboard-text=\"text\"\n    :title=\"title\"\n    :aria-label=\"title\"\n    :category=\"category\"\n    icon=\"copy-to-clipboard\"\n  />\n</template>\n","import { render, staticRenderFns } from \"./modal_copy_button.vue?vue&type=template&id=4c7472d6\"\nimport script from \"./modal_copy_button.vue?vue&type=script&lang=js\"\nexport * from \"./modal_copy_button.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 render(){var _vm=this,_c=_vm._self._c;return (_vm.isSignedIn)?_c('div',{attrs:{\"data-testid\":\"signed-in-empty-state-block\",\"data-track-action\":_vm.isProject && 'render',\"data-track-label\":_vm.isProject && 'project_issues_empty_list'}},[_c('div',[_c('gl-empty-state',{attrs:{\"title\":_vm.__('Use issues to collaborate on ideas, solve problems, and plan work'),\"svg-path\":_vm.$options.emptyStateSvg,\"data-testid\":\"issuable-empty-state\"},scopedSlots:_vm._u([{key:\"description\",fn:function(){return [(_vm.canCreateProjects)?_c('p',{staticClass:\"gl-my-2 gl-text-subtle\",attrs:{\"data-testid\":\"create-project-message\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.createProjectMessage)+\"\\n        \")]):_vm._e(),_vm._v(\" \"),_c('gl-link',{attrs:{\"href\":_vm.$options.issuesHelpPagePath,\"data-track-action\":_vm.isProject && 'click_learn_more_project_issues_empty_list_page',\"data-track-label\":_vm.isProject && 'learn_more_project_issues_empty_list'}},[_vm._v(\"\\n          \"+_vm._s(_vm.__('Learn more about issues.'))+\"\\n        \")])]},proxy:true},{key:\"actions\",fn:function(){return [_vm._t(\"actions\"),_vm._v(\" \"),(_vm.showNewIssueDropdown)?_c('new-resource-dropdown',{staticClass:\"gl-mx-2 gl-mb-3 gl-self-center\",attrs:{\"query\":_vm.$options.searchProjectsQuery,\"query-variables\":_vm.newIssueDropdownQueryVariables,\"extract-projects\":_vm.extractProjects,\"group-id\":_vm.groupId}}):_vm._e(),_vm._v(\" \"),_vm._t(\"new-issue-button\",function(){return [(_vm.showNewIssueLink)?_c('gl-button',{staticClass:\"gl-mx-2 gl-mb-3\",attrs:{\"href\":_vm.newIssuePath,\"variant\":\"confirm\",\"data-track-action\":\"click_new_issue_project_issues_empty_list_page\",\"data-track-label\":\"new_issue_project_issues_empty_list\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.__('New issue'))+\"\\n          \")]):_vm._e()]}),_vm._v(\" \"),(_vm.canCreateProjects)?_c('gl-button',{staticClass:\"gl-mx-2 gl-mb-3\",attrs:{\"href\":_vm.newProjectPath,\"variant\":_vm.showNewIssueDropdown ? 'default' : 'confirm'}},[_vm._v(\"\\n          \"+_vm._s(_vm.__('New project'))+\"\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.showCsvButtons)?_c('gl-disclosure-dropdown',{staticClass:\"gl-mx-2 gl-mb-3\",attrs:{\"toggle-text\":_vm.__('Import issues'),\"data-testid\":\"import-issues-dropdown\"}},[_c('csv-import-export-buttons',{attrs:{\"export-csv-path\":_vm.exportCsvPathWithQuery,\"issuable-count\":_vm.currentTabCount,\"track-import-click\":\"\"}})],1):_vm._e()]},proxy:true}],null,true)}),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('p',{staticClass:\"gl-mb-0 gl-text-center gl-font-bold\"},[_vm._v(\"\\n      \"+_vm._s(_vm.s__('JiraService|Using Jira for issue tracking?'))+\"\\n    \")]),_vm._v(\" \"),_c('p',{staticClass:\"gl-mb-0 gl-text-center\"},[_c('gl-sprintf',{attrs:{\"message\":_vm.$options.i18n.jiraIntegrationMessage},scopedSlots:_vm._u([{key:\"jiraDocsLink\",fn:function({ content }){return [_c('gl-link',{attrs:{\"href\":_vm.$options.jiraIntegrationPath,\"data-track-action\":_vm.isProject && 'click_jira_int_project_issues_empty_list_page',\"data-track-label\":_vm.isProject && 'jira_int_project_issues_empty_list'}},[_vm._v(\"\\n            \"+_vm._s(content)+\"\\n          \")])]}}],null,false,315739561)})],1),_vm._v(\" \"),_c('p',{staticClass:\"gl-text-center gl-text-subtle\"},[_vm._v(\"\\n      \"+_vm._s(_vm.s__('JiraService|This feature requires a Premium plan.'))+\"\\n    \")])],1)]):_c('gl-empty-state',{attrs:{\"title\":_vm.__('Use issues to collaborate on ideas, solve problems, and plan work'),\"svg-path\":_vm.$options.emptyStateSvg,\"svg-height\":null,\"primary-button-text\":_vm.__('Register / Sign In'),\"primary-button-link\":_vm.signInPath,\"data-testid\":\"issuable-empty-state\"},scopedSlots:_vm._u([{key:\"description\",fn:function(){return [_c('gl-link',{attrs:{\"href\":_vm.$options.issuesHelpPagePath}},[_vm._v(\"\\n      \"+_vm._s(_vm.__('Learn more about issues.'))+\"\\n    \")])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default __webpack_public_path__ + \"empty-issues-add-md.201d9f29.svg\";","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state_without_any_issues.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state_without_any_issues.vue?vue&type=script&lang=js\"","<script>\nimport emptyStateSvg from '@gitlab/svgs/dist/illustrations/empty-state/empty-issues-add-md.svg';\nimport { GlButton, GlDisclosureDropdown, GlEmptyState, GlLink, GlSprintf } from '@gitlab/ui';\nimport { helpPagePath } from '~/helpers/help_page_helper';\nimport CsvImportExportButtons from '~/issuable/components/csv_import_export_buttons.vue';\nimport { s__, __ } from '~/locale';\nimport NewResourceDropdown from '~/vue_shared/components/new_resource_dropdown/new_resource_dropdown.vue';\nimport { hasNewIssueDropdown } from '../has_new_issue_dropdown_mixin';\n\nexport default {\n  i18n: {\n    jiraIntegrationMessage: s__(\n      'JiraService|%{jiraDocsLinkStart}Enable the Jira integration%{jiraDocsLinkEnd} to view your Jira issues in GitLab.',\n    ),\n  },\n  emptyStateSvg,\n  issuesHelpPagePath: helpPagePath('user/project/issues/index'),\n  jiraIntegrationPath: helpPagePath('integration/jira/configure', { anchor: 'view-jira-issues' }),\n  components: {\n    CsvImportExportButtons,\n    GlButton,\n    GlDisclosureDropdown,\n    GlEmptyState,\n    GlLink,\n    GlSprintf,\n    NewResourceDropdown,\n  },\n  mixins: [hasNewIssueDropdown()],\n  inject: [\n    'canCreateProjects',\n    'isSignedIn',\n    'newIssuePath',\n    'newProjectPath',\n    'showNewIssueLink',\n    'signInPath',\n    'groupId',\n    'isProject',\n  ],\n  props: {\n    currentTabCount: {\n      type: Number,\n      required: false,\n      default: undefined,\n    },\n    exportCsvPathWithQuery: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    showCsvButtons: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showNewIssueDropdown: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showIssuableByEmail: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    createProjectMessage() {\n      return this.showNewIssueDropdown\n        ? __('Issues exist in projects. Select a project to create an issue, or create a project.')\n        : __('Issues exist in projects. To create an issue, first create a project.');\n    },\n  },\n};\n</script>\n\n<template>\n  <div\n    v-if=\"isSignedIn\"\n    data-testid=\"signed-in-empty-state-block\"\n    :data-track-action=\"isProject && 'render'\"\n    :data-track-label=\"isProject && 'project_issues_empty_list'\"\n  >\n    <div>\n      <gl-empty-state\n        :title=\"__('Use issues to collaborate on ideas, solve problems, and plan work')\"\n        :svg-path=\"$options.emptyStateSvg\"\n        data-testid=\"issuable-empty-state\"\n      >\n        <template #description>\n          <p\n            v-if=\"canCreateProjects\"\n            data-testid=\"create-project-message\"\n            class=\"gl-my-2 gl-text-subtle\"\n          >\n            {{ createProjectMessage }}\n          </p>\n          <gl-link\n            :href=\"$options.issuesHelpPagePath\"\n            :data-track-action=\"isProject && 'click_learn_more_project_issues_empty_list_page'\"\n            :data-track-label=\"isProject && 'learn_more_project_issues_empty_list'\"\n          >\n            {{ __('Learn more about issues.') }}\n          </gl-link>\n        </template>\n        <template #actions>\n          <slot name=\"actions\"></slot>\n          <new-resource-dropdown\n            v-if=\"showNewIssueDropdown\"\n            class=\"gl-mx-2 gl-mb-3 gl-self-center\"\n            :query=\"$options.searchProjectsQuery\"\n            :query-variables=\"newIssueDropdownQueryVariables\"\n            :extract-projects=\"extractProjects\"\n            :group-id=\"groupId\"\n          />\n          <slot name=\"new-issue-button\">\n            <gl-button\n              v-if=\"showNewIssueLink\"\n              :href=\"newIssuePath\"\n              variant=\"confirm\"\n              class=\"gl-mx-2 gl-mb-3\"\n              data-track-action=\"click_new_issue_project_issues_empty_list_page\"\n              data-track-label=\"new_issue_project_issues_empty_list\"\n            >\n              {{ __('New issue') }}\n            </gl-button>\n          </slot>\n          <gl-button\n            v-if=\"canCreateProjects\"\n            :href=\"newProjectPath\"\n            :variant=\"showNewIssueDropdown ? 'default' : 'confirm'\"\n            class=\"gl-mx-2 gl-mb-3\"\n          >\n            {{ __('New project') }}\n          </gl-button>\n\n          <gl-disclosure-dropdown\n            v-if=\"showCsvButtons\"\n            class=\"gl-mx-2 gl-mb-3\"\n            :toggle-text=\"__('Import issues')\"\n            data-testid=\"import-issues-dropdown\"\n          >\n            <csv-import-export-buttons\n              :export-csv-path=\"exportCsvPathWithQuery\"\n              :issuable-count=\"currentTabCount\"\n              track-import-click\n            />\n          </gl-disclosure-dropdown>\n        </template>\n      </gl-empty-state>\n      <hr />\n      <p class=\"gl-mb-0 gl-text-center gl-font-bold\">\n        {{ s__('JiraService|Using Jira for issue tracking?') }}\n      </p>\n      <p class=\"gl-mb-0 gl-text-center\">\n        <gl-sprintf :message=\"$options.i18n.jiraIntegrationMessage\">\n          <template #jiraDocsLink=\"{ content }\">\n            <gl-link\n              :href=\"$options.jiraIntegrationPath\"\n              :data-track-action=\"isProject && 'click_jira_int_project_issues_empty_list_page'\"\n              :data-track-label=\"isProject && 'jira_int_project_issues_empty_list'\"\n            >\n              {{ content }}\n            </gl-link>\n          </template>\n        </gl-sprintf>\n      </p>\n      <p class=\"gl-text-center gl-text-subtle\">\n        {{ s__('JiraService|This feature requires a Premium plan.') }}\n      </p>\n    </div>\n  </div>\n\n  <gl-empty-state\n    v-else\n    :title=\"__('Use issues to collaborate on ideas, solve problems, and plan work')\"\n    :svg-path=\"$options.emptyStateSvg\"\n    :svg-height=\"null\"\n    :primary-button-text=\"__('Register / Sign In')\"\n    :primary-button-link=\"signInPath\"\n    data-testid=\"issuable-empty-state\"\n  >\n    <template #description>\n      <gl-link :href=\"$options.issuesHelpPagePath\">\n        {{ __('Learn more about issues.') }}\n      </gl-link>\n    </template>\n  </gl-empty-state>\n</template>\n","import { render, staticRenderFns } from \"./empty_state_without_any_issues.vue?vue&type=template&id=316e8818\"\nimport script from \"./empty_state_without_any_issues.vue?vue&type=script&lang=js\"\nexport * from \"./empty_state_without_any_issues.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 render(){var _vm=this,_c=_vm._self._c;return _c('issue-card-statistics',{attrs:{\"issue\":_vm.issue}},[_c('blocking-issues-count',{staticClass:\"gl-hidden sm:gl-inline-block\",attrs:{\"blocking-issues-count\":_vm.issue.blockingCount,\"is-list-item\":\"\",\"data-testid\":\"blocking-issues\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_statistics.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_statistics.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlTooltipDirective } from '@gitlab/ui';\nimport { findAwardEmojiWidget } from '~/work_items/utils';\nimport { i18n } from '../constants';\n\nexport default {\n  i18n,\n  components: {\n    GlIcon,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    issue: {\n      type: Object,\n      required: true,\n    },\n  },\n  computed: {\n    downvotes() {\n      return this.issue.downvotes || findAwardEmojiWidget(this.issue)?.downvotes;\n    },\n    upvotes() {\n      return this.issue.upvotes || findAwardEmojiWidget(this.issue)?.upvotes;\n    },\n  },\n};\n</script>\n\n<template>\n  <ul class=\"gl-contents\">\n    <li\n      v-if=\"upvotes\"\n      v-gl-tooltip\n      class=\"gl-hidden sm:gl-block\"\n      :title=\"$options.i18n.upvotes\"\n      data-testid=\"issuable-upvotes\"\n    >\n      <gl-icon name=\"thumb-up\" />\n      {{ upvotes }}\n    </li>\n    <li\n      v-if=\"downvotes\"\n      v-gl-tooltip\n      class=\"gl-hidden sm:gl-block\"\n      :title=\"$options.i18n.downvotes\"\n      data-testid=\"issuable-downvotes\"\n    >\n      <gl-icon name=\"thumb-down\" />\n      {{ downvotes }}\n    </li>\n    <li\n      v-if=\"issue.mergeRequestsCount\"\n      v-gl-tooltip\n      class=\"gl-hidden sm:gl-block\"\n      :title=\"__('Related merge requests')\"\n      data-testid=\"merge-requests\"\n    >\n      <gl-icon name=\"merge-request\" />\n      {{ issue.mergeRequestsCount }}\n    </li>\n    <slot></slot>\n  </ul>\n</template>\n","import { render, staticRenderFns } from \"./issue_card_statistics.vue?vue&type=template&id=cc1949f0\"\nimport script from \"./issue_card_statistics.vue?vue&type=script&lang=js\"\nexport * from \"./issue_card_statistics.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 render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"gl-contents\"},[(_vm.upvotes)?_c('li',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-hidden sm:gl-block\",attrs:{\"title\":_vm.$options.i18n.upvotes,\"data-testid\":\"issuable-upvotes\"}},[_c('gl-icon',{attrs:{\"name\":\"thumb-up\"}}),_vm._v(\"\\n    \"+_vm._s(_vm.upvotes)+\"\\n  \")],1):_vm._e(),_vm._v(\" \"),(_vm.downvotes)?_c('li',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-hidden sm:gl-block\",attrs:{\"title\":_vm.$options.i18n.downvotes,\"data-testid\":\"issuable-downvotes\"}},[_c('gl-icon',{attrs:{\"name\":\"thumb-down\"}}),_vm._v(\"\\n    \"+_vm._s(_vm.downvotes)+\"\\n  \")],1):_vm._e(),_vm._v(\" \"),(_vm.issue.mergeRequestsCount)?_c('li',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-hidden sm:gl-block\",attrs:{\"title\":_vm.__('Related merge requests'),\"data-testid\":\"merge-requests\"}},[_c('gl-icon',{attrs:{\"name\":\"merge-request\"}}),_vm._v(\"\\n    \"+_vm._s(_vm.issue.mergeRequestsCount)+\"\\n  \")],1):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./blocking_issues_count.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./blocking_issues_count.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlTooltipDirective } from '@gitlab/ui';\n\nexport default {\n  components: {\n    GlIcon,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  inject: {\n    hasBlockedIssuesFeature: {\n      default: false,\n    },\n  },\n  props: {\n    blockingIssuesCount: {\n      type: Number,\n      required: false,\n      default: null,\n    },\n    isListItem: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    showBlockingIssuesCount() {\n      return this.hasBlockedIssuesFeature && this.blockingIssuesCount > 0;\n    },\n    tag() {\n      return this.isListItem ? 'li' : 'span';\n    },\n  },\n};\n</script>\n\n<template>\n  <component :is=\"tag\" v-if=\"showBlockingIssuesCount\" v-gl-tooltip :title=\"__('Blocking issues')\">\n    <gl-icon name=\"entity-blocking\" variant=\"warning\" />\n    {{ blockingIssuesCount }}\n  </component>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_statistics.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_statistics.vue?vue&type=script&lang=js\"","<script>\nimport IssueCardStatistics from '~/issues/list/components/issue_card_statistics.vue';\nimport BlockingIssuesCount from '../../components/blocking_issues_count.vue';\n\nexport default {\n  components: {\n    BlockingIssuesCount,\n    IssueCardStatistics,\n  },\n  props: {\n    issue: {\n      type: Object,\n      required: true,\n    },\n  },\n};\n</script>\n\n<template>\n  <issue-card-statistics :issue=\"issue\">\n    <blocking-issues-count\n      class=\"gl-hidden sm:gl-inline-block\"\n      :blocking-issues-count=\"issue.blockingCount\"\n      is-list-item\n      data-testid=\"blocking-issues\"\n    />\n  </issue-card-statistics>\n</template>\n","import { render, staticRenderFns } from \"./blocking_issues_count.vue?vue&type=template&id=68b02664\"\nimport script from \"./blocking_issues_count.vue?vue&type=script&lang=js\"\nexport * from \"./blocking_issues_count.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 render(){var _vm=this,_c=_vm._self._c;return (_vm.showBlockingIssuesCount)?_c(_vm.tag,{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],tag:\"component\",attrs:{\"title\":_vm.__('Blocking issues')}},[_c('gl-icon',{attrs:{\"name\":\"entity-blocking\",\"variant\":\"warning\"}}),_vm._v(\"\\n  \"+_vm._s(_vm.blockingIssuesCount)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./issue_card_statistics.vue?vue&type=template&id=0052e47a\"\nimport script from \"./issue_card_statistics.vue?vue&type=script&lang=js\"\nexport * from \"./issue_card_statistics.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","/* eslint-disable import/export */\nimport {\n  getDefaultWorkItemTypes as getDefaultWorkItemTypesCE,\n  getTypeTokenOptions as getTypeTokenOptionsCE,\n} from '~/issues/list/utils';\nimport { __, s__ } from '~/locale';\nimport {\n  WORK_ITEM_TYPE_ENUM_EPIC,\n  WORK_ITEM_TYPE_ENUM_KEY_RESULT,\n  WORK_ITEM_TYPE_ENUM_OBJECTIVE,\n  WORK_ITEM_TYPE_ENUM_TEST_CASE,\n} from '~/work_items/constants';\n\nexport * from '~/issues/list/utils';\n\n/**\n * Get the types of work items that should be displayed on issues lists.\n * This should be consistent with `Issue::TYPES_FOR_LIST` in the backend.\n *\n * @returns {Array<string>}\n * */\nexport const getDefaultWorkItemTypes = ({\n  hasEpicsFeature,\n  hasOkrsFeature,\n  hasQualityManagementFeature,\n}) => {\n  const types = getDefaultWorkItemTypesCE();\n  if (hasEpicsFeature) {\n    types.push(WORK_ITEM_TYPE_ENUM_EPIC);\n  }\n  if (hasOkrsFeature) {\n    types.push(WORK_ITEM_TYPE_ENUM_KEY_RESULT, WORK_ITEM_TYPE_ENUM_OBJECTIVE);\n  }\n  if (hasQualityManagementFeature) {\n    types.push(WORK_ITEM_TYPE_ENUM_TEST_CASE);\n  }\n  return types;\n};\n\nexport const getTypeTokenOptions = ({\n  hasEpicsFeature,\n  hasOkrsFeature,\n  hasQualityManagementFeature,\n}) => {\n  const options = getTypeTokenOptionsCE();\n  if (hasEpicsFeature) {\n    options.push({\n      icon: 'epic',\n      title: __('Epic'),\n      value: 'epic',\n    });\n  }\n  if (hasOkrsFeature) {\n    options.push(\n      { icon: 'issue-type-objective', title: s__('WorkItem|Objective'), value: 'objective' },\n      { icon: 'issue-type-keyresult', title: s__('WorkItem|Key Result'), value: 'key_result' },\n    );\n  }\n  if (hasQualityManagementFeature) {\n    options.push({\n      icon: 'issue-type-test-case',\n      title: s__('WorkItem|Test case'),\n      value: 'test_case',\n    });\n  }\n  return options;\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-filtered-search-bar-container gl-flex gl-flex-col sm:gl-flex-row sm:gl-gap-3\"},[_c('div',{staticClass:\"flex-grow-1 gl-flex gl-min-w-0 gl-gap-3\"},[(_vm.showCheckbox)?_c('gl-form-checkbox',{staticClass:\"gl-min-h-0 gl-self-center\",attrs:{\"checked\":_vm.checkboxChecked},on:{\"change\":function($event){return _vm.$emit('checked-input', $event)}}},[_c('span',{staticClass:\"gl-sr-only\"},[_vm._v(_vm._s(_vm.__('Select all')))])]):_vm._e(),_vm._v(\" \"),_c('gl-filtered-search',{ref:\"filteredSearchInput\",staticClass:\"flex-grow-1\",attrs:{\"placeholder\":_vm.searchInputPlaceholder,\"available-tokens\":_vm.tokens,\"history-items\":_vm.filteredRecentSearches,\"suggestions-list-class\":_vm.suggestionsListClass,\"search-button-attributes\":_vm.searchButtonAttributes,\"search-input-attributes\":_vm.searchInputAttributes,\"recent-searches-header\":_vm.__('Recent searches'),\"clear-button-title\":_vm.__('Clear'),\"close-button-title\":_vm.__('Close'),\"clear-recent-searches-text\":_vm.__('Clear recent searches'),\"no-recent-searches-text\":_vm.__(`You don't have any recent searches`),\"search-text-option-label\":_vm.searchTextOptionLabel,\"show-friendly-text\":_vm.showFriendlyText,\"show-search-button\":_vm.showSearchButton,\"terms-as-tokens\":_vm.termsAsTokens},on:{\"history-item-selected\":_vm.handleHistoryItemSelected,\"clear\":_vm.onClear,\"clear-history\":_vm.handleClearHistory,\"submit\":_vm.handleFilterSubmit,\"input\":_vm.onInput},scopedSlots:_vm._u([{key:\"history-item\",fn:function({ historyItem }){return [_vm._l((historyItem),function(token,index){return [(typeof token === 'string')?_c('span',{key:index,staticClass:\"gl-px-1\"},[_vm._v(\"\\\"\"+_vm._s(token)+\"\\\"\")]):_c('span',{key:`${index}-${token.type}-${token.value.data}`,staticClass:\"gl-px-1\"},[(_vm.tokenTitles[token.type])?_c('span',[_vm._v(_vm._s(_vm.tokenTitles[token.type])+\" :\"+_vm._s(token.value.operator))]):_vm._e(),_vm._v(\" \"),_c('strong',[_vm._v(_vm._s(_vm.tokenSymbols[token.type])+_vm._s(_vm.historyTokenOptionTitle(token)))])])]})]}}]),model:{value:(_vm.filterValue),callback:function ($$v) {_vm.filterValue=$$v},expression:\"filterValue\"}})],1),_vm._v(\" \"),(_vm.selectedSortOption)?_c('gl-sorting',{staticClass:\"sort-dropdown-container gl-w-full sm:!gl-m-0 sm:gl-w-auto\",attrs:{\"sort-options\":_vm.transformedSortOptions,\"sort-by\":_vm.sortById,\"is-ascending\":_vm.sortDirectionAscending,\"dropdown-class\":\"gl-grow\",\"dropdown-toggle-class\":\"gl-grow\",\"sort-direction-toggle-class\":\"!gl-shrink !gl-grow-0\"},on:{\"sortByChange\":_vm.handleSortByChange,\"sortDirectionChange\":_vm.handleSortDirectionChange}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./filtered_search_bar_root.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./filtered_search_bar_root.vue?vue&type=script&lang=js\"","<script>\nimport { GlFilteredSearch, GlSorting, GlFormCheckbox, GlTooltipDirective } from '@gitlab/ui';\n\nimport RecentSearchesStorageKeys from 'ee_else_ce/filtered_search/recent_searches_storage_keys';\nimport RecentSearchesService from '~/filtered_search/services/recent_searches_service';\nimport RecentSearchesStore from '~/filtered_search/stores/recent_searches_store';\nimport { createAlert } from '~/alert';\nimport { stripQuotes } from '~/lib/utils/text_utility';\nimport { __ } from '~/locale';\n\nimport { SORT_DIRECTION } from './constants';\nimport { filterEmptySearchTerm, uniqueTokens } from './filtered_search_utils';\n\nexport default {\n  components: {\n    GlFilteredSearch,\n    GlSorting,\n    GlFormCheckbox,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    namespace: {\n      type: [Number, String],\n      required: true,\n    },\n    recentSearchesStorageKey: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    tokens: {\n      type: Array,\n      required: true,\n    },\n    sortOptions: {\n      type: Array,\n      default: () => [],\n      required: false,\n    },\n    initialFilterValue: {\n      type: Array,\n      required: false,\n      default: () => [],\n    },\n    initialSortBy: {\n      type: String,\n      required: false,\n      default: '',\n      validator: (value) => value === '' || /(_desc)|(_asc)/gi.test(value),\n    },\n    showCheckbox: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    checkboxChecked: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    searchInputPlaceholder: {\n      type: String,\n      required: false,\n      default: __('Search or filter results…'),\n    },\n    suggestionsListClass: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    searchButtonAttributes: {\n      type: Object,\n      required: false,\n      default: () => ({}),\n    },\n    searchInputAttributes: {\n      type: Object,\n      required: false,\n      default: () => ({}),\n    },\n    showFriendlyText: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    syncFilterAndSort: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    termsAsTokens: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    searchTextOptionLabel: {\n      type: String,\n      required: false,\n      default: __('Search for this text'),\n    },\n    showSearchButton: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n  },\n  data() {\n    return {\n      initialRender: true,\n      recentSearchesPromise: null,\n      recentSearches: [],\n      filterValue: this.initialFilterValue,\n      ...this.getInitialSort(),\n    };\n  },\n  computed: {\n    tokenSymbols() {\n      return this.tokens.reduce(\n        (tokenSymbols, token) => ({\n          ...tokenSymbols,\n          [token.type]: token.symbol,\n        }),\n        {},\n      );\n    },\n    tokenTitles() {\n      return this.tokens.reduce(\n        (tokenSymbols, token) => ({\n          ...tokenSymbols,\n          [token.type]: token.title,\n        }),\n        {},\n      );\n    },\n    transformedSortOptions() {\n      return this.sortOptions.map(({ id: value, title: text }) => ({ value, text }));\n    },\n    selectedSortDirection() {\n      return this.sortDirectionAscending ? SORT_DIRECTION.ascending : SORT_DIRECTION.descending;\n    },\n    selectedSortOption() {\n      return this.sortOptions.find((sortOption) => sortOption.id === this.sortById);\n    },\n    /**\n     * This prop fixes a behaviour affecting GlFilteredSearch\n     * where selecting duplicate token values leads to history\n     * dropdown also showing that selection.\n     */\n    filteredRecentSearches() {\n      if (this.recentSearchesStorageKey) {\n        const knownItems = [];\n        return this.recentSearches.reduce((historyItems, item) => {\n          // Only include non-string history items (discard items from legacy search)\n          if (typeof item !== 'string') {\n            const sanitizedItem = uniqueTokens(item);\n            const itemString = JSON.stringify(sanitizedItem);\n            // Only include items which aren't already part of history\n            if (!knownItems.includes(itemString)) {\n              historyItems.push(sanitizedItem);\n              // We're storing string for comparision as doing direct object compare\n              // won't work due to object reference not being the same.\n              knownItems.push(itemString);\n            }\n          }\n          return historyItems;\n        }, []);\n      }\n      return undefined;\n    },\n  },\n  watch: {\n    initialFilterValue(newValue) {\n      if (this.syncFilterAndSort) {\n        this.filterValue = newValue;\n      }\n    },\n    initialSortBy(newInitialSortBy) {\n      if (this.syncFilterAndSort && newInitialSortBy) {\n        this.updateSelectedSortValues();\n      }\n    },\n    recentSearchesStorageKey: {\n      handler: 'setupRecentSearch',\n      immediate: true,\n    },\n  },\n  methods: {\n    /**\n     * Initialize service and store instances for\n     * getting Recent Search functional.\n     */\n    setupRecentSearch() {\n      this.recentSearchesService = new RecentSearchesService(\n        `${this.namespace}-${RecentSearchesStorageKeys[this.recentSearchesStorageKey]}`,\n      );\n\n      this.recentSearchesStore = new RecentSearchesStore({\n        isLocalStorageAvailable: RecentSearchesService.isAvailable(),\n        allowedKeys: this.tokens.map((token) => token.type),\n      });\n\n      this.recentSearchesPromise = this.recentSearchesService\n        .fetch()\n        .catch((error) => {\n          if (error.name === 'RecentSearchesServiceError') return undefined;\n\n          createAlert({\n            message: __('An error occurred while parsing recent searches'),\n          });\n\n          // Gracefully fail to empty array\n          return [];\n        })\n        .then((searches) => {\n          if (!searches) return;\n\n          // Put any searches that may have come in before\n          // we fetched the saved searches ahead of the already saved ones\n          let resultantSearches = this.recentSearchesStore.setRecentSearches(\n            this.recentSearchesStore.state.recentSearches.concat(searches),\n          );\n          // If visited URL has search params, add them to recent search store\n          if (filterEmptySearchTerm(this.filterValue).length) {\n            resultantSearches = this.recentSearchesStore.addRecentSearch(this.filterValue);\n          }\n\n          this.recentSearchesService.save(resultantSearches);\n          this.recentSearches = resultantSearches;\n        });\n    },\n    /**\n     * When user hits Enter/Return key while typing tokens, we emit `onFilter`\n     * event immediately so at that time, we don't want to keep tokens dropdown\n     * visible on UI so this is essentially a hack which allows us to do that\n     * until `GlFilteredSearch` natively supports this.\n     * See this discussion https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36421#note_385729546\n     */\n    blurSearchInput() {\n      const searchInputEl = this.$refs.filteredSearchInput.$el.querySelector(\n        '.gl-filtered-search-token-segment-input',\n      );\n      if (searchInputEl) {\n        searchInputEl.blur();\n      }\n    },\n    /**\n     * This method removes quotes enclosure from filter values which are\n     * done by `GlFilteredSearch` internally when filter value contains\n     * spaces.\n     */\n    removeQuotesEnclosure(filters = []) {\n      return filters.map((filter) => {\n        if (typeof filter === 'object') {\n          const valueString = filter.value.data;\n          return {\n            ...filter,\n            value: {\n              data: typeof valueString === 'string' ? stripQuotes(valueString) : valueString,\n              operator: filter.value.operator,\n            },\n          };\n        }\n        return filter;\n      });\n    },\n    handleSortByChange(sortById) {\n      this.sortById = sortById;\n      this.$emit('onSort', this.selectedSortOption.sortDirection[this.selectedSortDirection]);\n    },\n    handleSortDirectionChange(isAscending) {\n      this.sortDirectionAscending = isAscending;\n      this.$emit('onSort', this.selectedSortOption.sortDirection[this.selectedSortDirection]);\n    },\n    handleHistoryItemSelected(filters) {\n      this.$emit('onFilter', this.removeQuotesEnclosure(filters));\n    },\n    handleClearHistory() {\n      const resultantSearches = this.recentSearchesStore.setRecentSearches([]);\n      this.recentSearchesService.save(resultantSearches);\n      this.recentSearches = [];\n    },\n    async handleFilterSubmit() {\n      this.blurSearchInput();\n      await this.$nextTick();\n      const filterTokens = uniqueTokens(this.filterValue);\n      this.filterValue = filterTokens;\n\n      if (this.recentSearchesStorageKey) {\n        this.recentSearchesPromise\n          .then(() => {\n            if (filterTokens.length) {\n              const resultantSearches = this.recentSearchesStore.addRecentSearch(filterTokens);\n              this.recentSearchesService.save(resultantSearches);\n              this.recentSearches = resultantSearches;\n            }\n          })\n          .catch(() => {\n            // https://gitlab.com/gitlab-org/gitlab-foss/issues/30821\n          });\n      }\n      this.$emit('onFilter', this.removeQuotesEnclosure(filterTokens));\n    },\n    historyTokenOptionTitle(historyToken) {\n      const tokenOption = this.tokens\n        .find((token) => token.type === historyToken.type)\n        ?.options?.find((option) => option.value === historyToken.value.data);\n\n      if (!tokenOption?.title) {\n        return historyToken.value.data;\n      }\n\n      return tokenOption.title;\n    },\n    onClear() {\n      const cleared = true;\n      this.$emit('onFilter', [], cleared);\n    },\n    updateSelectedSortValues() {\n      Object.assign(this, this.getInitialSort());\n    },\n    getInitialSort() {\n      for (const sortOption of this.sortOptions) {\n        if (sortOption.sortDirection.ascending === this.initialSortBy) {\n          return {\n            sortById: sortOption.id,\n            sortDirectionAscending: true,\n          };\n        }\n\n        if (sortOption.sortDirection.descending === this.initialSortBy) {\n          return {\n            sortById: sortOption.id,\n            sortDirectionAscending: false,\n          };\n        }\n      }\n\n      return {\n        sortById: this.sortOptions[0]?.id,\n        sortDirectionAscending: false,\n      };\n    },\n    onInput(tokens) {\n      this.$emit('onInput', this.removeQuotesEnclosure(uniqueTokens(tokens)));\n    },\n  },\n};\n</script>\n\n<template>\n  <div class=\"vue-filtered-search-bar-container gl-flex gl-flex-col sm:gl-flex-row sm:gl-gap-3\">\n    <div class=\"flex-grow-1 gl-flex gl-min-w-0 gl-gap-3\">\n      <gl-form-checkbox\n        v-if=\"showCheckbox\"\n        class=\"gl-min-h-0 gl-self-center\"\n        :checked=\"checkboxChecked\"\n        @change=\"$emit('checked-input', $event)\"\n      >\n        <span class=\"gl-sr-only\">{{ __('Select all') }}</span>\n      </gl-form-checkbox>\n      <gl-filtered-search\n        ref=\"filteredSearchInput\"\n        v-model=\"filterValue\"\n        :placeholder=\"searchInputPlaceholder\"\n        :available-tokens=\"tokens\"\n        :history-items=\"filteredRecentSearches\"\n        :suggestions-list-class=\"suggestionsListClass\"\n        :search-button-attributes=\"searchButtonAttributes\"\n        :search-input-attributes=\"searchInputAttributes\"\n        :recent-searches-header=\"__('Recent searches')\"\n        :clear-button-title=\"__('Clear')\"\n        :close-button-title=\"__('Close')\"\n        :clear-recent-searches-text=\"__('Clear recent searches')\"\n        :no-recent-searches-text=\"__(`You don't have any recent searches`)\"\n        :search-text-option-label=\"searchTextOptionLabel\"\n        :show-friendly-text=\"showFriendlyText\"\n        :show-search-button=\"showSearchButton\"\n        :terms-as-tokens=\"termsAsTokens\"\n        class=\"flex-grow-1\"\n        @history-item-selected=\"handleHistoryItemSelected\"\n        @clear=\"onClear\"\n        @clear-history=\"handleClearHistory\"\n        @submit=\"handleFilterSubmit\"\n        @input=\"onInput\"\n      >\n        <template #history-item=\"{ historyItem }\">\n          <template v-for=\"(token, index) in historyItem\">\n            <span v-if=\"typeof token === 'string'\" :key=\"index\" class=\"gl-px-1\">\"{{ token }}\"</span>\n            <span v-else :key=\"`${index}-${token.type}-${token.value.data}`\" class=\"gl-px-1\">\n              <span v-if=\"tokenTitles[token.type]\"\n                >{{ tokenTitles[token.type] }} :{{ token.value.operator }}</span\n              >\n              <strong>{{ tokenSymbols[token.type] }}{{ historyTokenOptionTitle(token) }}</strong>\n            </span>\n          </template>\n        </template>\n      </gl-filtered-search>\n    </div>\n    <gl-sorting\n      v-if=\"selectedSortOption\"\n      :sort-options=\"transformedSortOptions\"\n      :sort-by=\"sortById\"\n      :is-ascending=\"sortDirectionAscending\"\n      class=\"sort-dropdown-container gl-w-full sm:!gl-m-0 sm:gl-w-auto\"\n      dropdown-class=\"gl-grow\"\n      dropdown-toggle-class=\"gl-grow\"\n      sort-direction-toggle-class=\"!gl-shrink !gl-grow-0\"\n      @sortByChange=\"handleSortByChange\"\n      @sortDirectionChange=\"handleSortDirectionChange\"\n    />\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./filtered_search_bar_root.vue?vue&type=template&id=ff54ccba\"\nimport script from \"./filtered_search_bar_root.vue?vue&type=script&lang=js\"\nexport * from \"./filtered_search_bar_root.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 { invert } from 'lodash';\nimport { __, s__, sprintf } from '~/locale';\nimport {\n  STATUS_TRIGGERED,\n  STATUS_ACKNOWLEDGED,\n  STATUS_RESOLVED,\n  IssuableAttributeType as IssuableAttributeTypeFoss,\n  IssuableAttributeState as IssuableAttributeStateFoss,\n  LocalizedIssuableAttributeType as LocalizedIssuableAttributeTypeFoss,\n  dropdowni18nText as dropdowni18nTextFoss,\n  Tracking,\n  defaultEpicSort,\n  epicIidPattern,\n} from '~/sidebar/constants';\n\nexport { Tracking, defaultEpicSort, epicIidPattern };\n\nexport const edit = __('Edit');\nexport const none = __('None');\n\nexport const HEALTH_STATUS_I18N_ASSIGN_HEALTH_STATUS = s__('Sidebar|Select health status');\nexport const HEALTH_STATUS_I18N_FETCH_ERROR = __(\n  'An error occurred while fetching the health status.',\n);\nexport const HEALTH_STATUS_I18N_HEALTH_STATUS = s__('Sidebar|Health status');\nexport const HEALTH_STATUS_I18N_NO_STATUS = s__('Sidebar|No status');\nexport const HEALTH_STATUS_I18N_NONE = s__('Sidebar|None');\nexport const HEALTH_STATUS_I18N_SELECT_HEALTH_STATUS = __('Select health status');\nexport const HEALTH_STATUS_I18N_UPDATE_ERROR = __(\n  'Something went wrong while setting %{issuableType} health status.',\n);\nexport const HEALTH_STATUS_OPEN_DROPDOWN_DELAY = 100;\n\nexport const HEALTH_STATUS_AT_RISK = 'atRisk';\nexport const HEALTH_STATUS_NEEDS_ATTENTION = 'needsAttention';\nexport const HEALTH_STATUS_ON_TRACK = 'onTrack';\n\nexport const healthStatusTextMap = {\n  [HEALTH_STATUS_ON_TRACK]: __('On track'),\n  [HEALTH_STATUS_NEEDS_ATTENTION]: __('Needs attention'),\n  [HEALTH_STATUS_AT_RISK]: __('At risk'),\n};\n\nexport const healthStatusVariantMap = {\n  [HEALTH_STATUS_ON_TRACK]: 'success',\n  [HEALTH_STATUS_NEEDS_ATTENTION]: 'warning',\n  [HEALTH_STATUS_AT_RISK]: 'danger',\n};\n\nexport const healthStatusIconMap = {\n  [HEALTH_STATUS_ON_TRACK]: 'status-health',\n  [HEALTH_STATUS_NEEDS_ATTENTION]: 'warning',\n  [HEALTH_STATUS_AT_RISK]: 'error',\n};\n\nexport const healthStatusColorMap = {\n  [HEALTH_STATUS_ON_TRACK]: 'gl-text-success',\n  [HEALTH_STATUS_NEEDS_ATTENTION]: 'gl-text-orange-500',\n  [HEALTH_STATUS_AT_RISK]: 'gl-text-red-500',\n};\n\nexport const healthStatusForRestApi = {\n  NO_STATUS: '0',\n  [HEALTH_STATUS_ON_TRACK]: 'on_track',\n  [HEALTH_STATUS_NEEDS_ATTENTION]: 'needs_attention',\n  [HEALTH_STATUS_AT_RISK]: 'at_risk',\n};\n\nexport const healthStatusDropdownOptions = [\n  { text: __('On track'), value: HEALTH_STATUS_ON_TRACK },\n  { text: __('Needs attention'), value: HEALTH_STATUS_NEEDS_ATTENTION },\n  { text: __('At risk'), value: HEALTH_STATUS_AT_RISK },\n];\n\nexport const healthStatusTracking = {\n  event: Tracking.editEvent,\n  label: Tracking.rightSidebarLabel,\n  property: 'health_status',\n};\n\nexport const iterationSelectTextMap = {\n  iteration: __('Iteration'),\n  noIteration: __('No iteration'),\n  assignIteration: __('Select iteration'),\n  iterationSelectFail: __('Failed to set iteration on this issue. Please try again.'),\n  currentIterationFetchError: __('Failed to fetch the iteration for this issue. Please try again.'),\n  iterationsFetchError: __('Failed to fetch the iterations for the group. Please try again.'),\n  noIterationsFound: s__('Iterations|No iterations found'),\n};\n\nexport const noAttributeId = null;\n\nexport const noEpic = {\n  id: 0,\n  title: __('No Epic'),\n};\n\nexport const placeholderEpic = {\n  id: -1,\n  title: __('Select epic'),\n};\n\nexport const SIDEBAR_ESCALATION_POLICY_TITLE = __('Escalation policy');\n\nexport const MAX_DISPLAY_WEIGHT = 99999;\n\nexport const CVE_ID_REQUEST_SIDEBAR_I18N = {\n  action: s__('CVE|Request CVE ID'),\n  description: s__('CVE|CVE ID Request'),\n  createRequest: s__('CVE|Create CVE ID Request'),\n  whyRequest: s__('CVE|Why Request a CVE ID?'),\n  whyText1: s__(\n    'CVE|Common Vulnerability Enumeration (CVE) identifiers are used to track distinct vulnerabilities in specific versions of code.',\n  ),\n  whyText2: s__(\n    'CVE|As a maintainer, requesting a CVE for a vulnerability in your project will help your users stay secure and informed.',\n  ),\n  learnMore: __('Learn more'),\n};\n\nexport const IssuableAttributeType = {\n  ...IssuableAttributeTypeFoss,\n  Iteration: 'iteration',\n  Epic: 'epic',\n  EscalationPolicy: 'escalation policy', // eslint-disable-line @gitlab/require-i18n-strings\n  Parent: 'parent',\n};\n\nexport const LocalizedIssuableAttributeType = {\n  ...LocalizedIssuableAttributeTypeFoss,\n  Iteration: s__('Issuable|iteration'),\n  Epic: s__('Issuable|epic'),\n  EscalationPolicy: s__('Issuable|escalation policy'),\n};\n\n// The reason we did this conversion is that we want to keep track of the keys via referencing the object itself\n// Thus we have to convert value as key, and use is in the method.\nexport const IssuableAttributeTypeKeyMap = invert(IssuableAttributeType);\n\nexport const IssuableAttributeState = {\n  ...IssuableAttributeStateFoss,\n  [IssuableAttributeType.Iteration]: 'opened',\n  [IssuableAttributeType.Epic]: 'opened',\n};\n\nexport function dropdowni18nText(issuableAttribute, issuableType) {\n  let noAttributesFound = s__('DropdownWidget|No %{issuableAttribute} found');\n\n  if (issuableAttribute === LocalizedIssuableAttributeType.Iteration) {\n    noAttributesFound = s__('DropdownWidget|No open %{issuableAttribute} found');\n  }\n\n  return {\n    ...dropdowni18nTextFoss(issuableAttribute, issuableType),\n    noAttributesFound: sprintf(noAttributesFound, {\n      issuableAttribute,\n    }),\n  };\n}\n\nexport const i18nHelpText = {\n  title: s__('IncidentManagement|Page your team with escalation policies'),\n  detail: s__(\n    'IncidentManagement|Use escalation policies to automatically page your team when incidents are created.',\n  ),\n  linkText: __('Learn more'),\n};\n\nexport const i18nPolicyText = {\n  paged: s__('IncidentManagement|Paged'),\n  title: SIDEBAR_ESCALATION_POLICY_TITLE,\n  none,\n};\n\nexport const i18nStatusHeaderText = s__('IncidentManagement|Assign paging status');\nconst STOPS_PAGING = s__('IncidentManagement|Stops paging');\n\nexport const STATUS_SUBTEXTS = {\n  [STATUS_TRIGGERED]: '',\n\n  [STATUS_ACKNOWLEDGED]: STOPS_PAGING,\n  [STATUS_RESOLVED]: STOPS_PAGING,\n};\n","import createEventHub from '~/helpers/event_hub_factory';\n\nexport default createEventHub();\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('gl-button',{directives:[{name:\"gl-modal\",rawName:\"v-gl-modal\",value:(_vm.$options.modalId),expression:\"$options.modalId\"}],attrs:{\"variant\":\"link\"}},[_c('gl-sprintf',{attrs:{\"message\":_vm.__('Email a new %{name} to this project')},scopedSlots:_vm._u([{key:\"name\",fn:function(){return [_vm._v(_vm._s(_vm.issuableName))]},proxy:true}])})],1),_vm._v(\" \"),_c('gl-modal',{ref:\"modal\",attrs:{\"modal-id\":_vm.$options.modalId},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('gl-sprintf',{attrs:{\"message\":_vm.__('Create new %{name} by email')},scopedSlots:_vm._u([{key:\"name\",fn:function(){return [_vm._v(_vm._s(_vm.issuableName))]},proxy:true}])})]},proxy:true},{key:\"modal-footer\",fn:function(){return [_c('gl-button',{attrs:{\"category\":\"secondary\"},on:{\"click\":_vm.cancelHandler}},[_vm._v(_vm._s(_vm.__('Cancel')))])]},proxy:true}])},[_vm._v(\" \"),_c('p',[_c('gl-sprintf',{attrs:{\"message\":_vm.__(\n            'You can create a new %{name} inside this project by sending an email to the following email address:',\n          )},scopedSlots:_vm._u([{key:\"name\",fn:function(){return [_vm._v(_vm._s(_vm.issuableName))]},proxy:true}])})],1),_vm._v(\" \"),_c('gl-form-input-group',{staticClass:\"gl-mb-4\",attrs:{\"value\":_vm.email,\"readonly\":\"\",\"select-on-click\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('modal-copy-button',{attrs:{\"text\":_vm.email,\"title\":_vm.__('Copy'),\"modal-id\":_vm.$options.modalId}}),_vm._v(\" \"),_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"href\":_vm.mailToLink,\"title\":_vm.$options.i18n.sendEmail,\"aria-label\":_vm.$options.i18n.sendEmail,\"icon\":\"mail\"}})]},proxy:true}])}),_vm._v(\" \"),_c('p',[_c('gl-sprintf',{attrs:{\"message\":_vm.__(\n            'The subject will be used as the title of the new issue, and the message will be the description. %{quickActionsLinkStart}Quick actions%{quickActionsLinkEnd} and styling with %{markdownLinkStart}Markdown%{markdownLinkEnd} are supported.',\n          )},scopedSlots:_vm._u([{key:\"quickActionsLink\",fn:function({ content }){return [_c('gl-link',{attrs:{\"href\":_vm.quickActionsHelpPath,\"target\":\"_blank\"}},[_vm._v(_vm._s(content))])]}},{key:\"markdownLink\",fn:function({ content }){return [_c('gl-link',{attrs:{\"href\":_vm.markdownHelpPath,\"target\":\"_blank\"}},[_vm._v(_vm._s(content))])]}}])})],1),_vm._v(\" \"),_c('p',[_c('gl-sprintf',{attrs:{\"message\":_vm.__(\n            'This is a private email address %{helpIcon} generated just for you. Anyone who has it can create issues or merge requests as if they were you. If that happens, %{resetLinkStart}reset this token%{resetLinkEnd}.',\n          )},scopedSlots:_vm._u([{key:\"helpIcon\",fn:function(){return [_c('gl-link',{attrs:{\"href\":_vm.emailsHelpPagePath,\"target\":\"_blank\"}},[_c('help-icon')],1)]},proxy:true},{key:\"resetLink\",fn:function({ content }){return [_c('gl-button',{attrs:{\"variant\":\"link\",\"data-testid\":\"reset_email_token_link\"},on:{\"click\":_vm.resetIncomingEmailToken}},[_vm._v(\"\\n            \"+_vm._s(content)+\"\\n          \")])]}}])})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_by_email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_by_email.vue?vue&type=script&lang=js\"","<script>\nimport {\n  GlButton,\n  GlModal,\n  GlModalDirective,\n  GlTooltipDirective,\n  GlSprintf,\n  GlLink,\n  GlFormInputGroup,\n} from '@gitlab/ui';\nimport { TYPE_ISSUE } from '~/issues/constants';\nimport axios from '~/lib/utils/axios_utils';\nimport { sprintf, __ } from '~/locale';\nimport ModalCopyButton from '~/vue_shared/components/modal_copy_button.vue';\nimport HelpIcon from '~/vue_shared/components/help_icon/help_icon.vue';\n\nexport default {\n  i18n: {\n    sendEmail: __('Send email'),\n  },\n  name: 'IssuableByEmail',\n  components: {\n    GlButton,\n    GlModal,\n    GlSprintf,\n    GlLink,\n    GlFormInputGroup,\n    HelpIcon,\n    ModalCopyButton,\n  },\n  directives: {\n    GlModal: GlModalDirective,\n    GlTooltip: GlTooltipDirective,\n  },\n  inject: {\n    initialEmail: {\n      default: null,\n    },\n    issuableType: {\n      default: TYPE_ISSUE,\n    },\n    emailsHelpPagePath: {\n      default: '',\n    },\n    quickActionsHelpPath: {\n      default: '',\n    },\n    markdownHelpPath: {\n      default: '',\n    },\n    resetPath: {\n      default: '',\n    },\n  },\n  data() {\n    return {\n      email: this.initialEmail,\n      issuableName: this.issuableType === TYPE_ISSUE ? __('issue') : __('merge request'),\n    };\n  },\n  computed: {\n    mailToLink() {\n      const subject = sprintf(__('Enter the %{name} title'), {\n        name: this.issuableName,\n      });\n      const body = sprintf(__('Enter the %{name} description'), {\n        name: this.issuableName,\n      });\n      return `mailto:${this.email}?subject=${subject}&body=${body}`;\n    },\n  },\n  methods: {\n    async resetIncomingEmailToken() {\n      try {\n        const {\n          data: { new_address: newAddress },\n        } = await axios.put(this.resetPath);\n        this.email = newAddress;\n      } catch {\n        this.$toast.show(__('There was an error when reseting email token.'));\n      }\n    },\n    cancelHandler() {\n      this.$refs.modal.hide();\n    },\n  },\n  modalId: 'issuable-email-modal',\n};\n</script>\n\n<template>\n  <div>\n    <gl-button v-gl-modal=\"$options.modalId\" variant=\"link\"\n      ><gl-sprintf :message=\"__('Email a new %{name} to this project')\"\n        ><template #name>{{ issuableName }}</template></gl-sprintf\n      ></gl-button\n    >\n    <gl-modal ref=\"modal\" :modal-id=\"$options.modalId\">\n      <template #modal-title>\n        <gl-sprintf :message=\"__('Create new %{name} by email')\">\n          <template #name>{{ issuableName }}</template>\n        </gl-sprintf>\n      </template>\n      <p>\n        <gl-sprintf\n          :message=\"\n            __(\n              'You can create a new %{name} inside this project by sending an email to the following email address:',\n            )\n          \"\n        >\n          <template #name>{{ issuableName }}</template>\n        </gl-sprintf>\n      </p>\n      <gl-form-input-group :value=\"email\" readonly select-on-click class=\"gl-mb-4\">\n        <template #append>\n          <modal-copy-button :text=\"email\" :title=\"__('Copy')\" :modal-id=\"$options.modalId\" />\n          <gl-button\n            v-gl-tooltip.hover\n            :href=\"mailToLink\"\n            :title=\"$options.i18n.sendEmail\"\n            :aria-label=\"$options.i18n.sendEmail\"\n            icon=\"mail\"\n          />\n        </template>\n      </gl-form-input-group>\n      <p>\n        <gl-sprintf\n          :message=\"\n            __(\n              'The subject will be used as the title of the new issue, and the message will be the description. %{quickActionsLinkStart}Quick actions%{quickActionsLinkEnd} and styling with %{markdownLinkStart}Markdown%{markdownLinkEnd} are supported.',\n            )\n          \"\n        >\n          <template #quickActionsLink=\"{ content }\">\n            <gl-link :href=\"quickActionsHelpPath\" target=\"_blank\">{{ content }}</gl-link>\n          </template>\n          <template #markdownLink=\"{ content }\">\n            <gl-link :href=\"markdownHelpPath\" target=\"_blank\">{{ content }}</gl-link>\n          </template>\n        </gl-sprintf>\n      </p>\n      <p>\n        <gl-sprintf\n          :message=\"\n            __(\n              'This is a private email address %{helpIcon} generated just for you. Anyone who has it can create issues or merge requests as if they were you. If that happens, %{resetLinkStart}reset this token%{resetLinkEnd}.',\n            )\n          \"\n        >\n          <template #helpIcon>\n            <gl-link :href=\"emailsHelpPagePath\" target=\"_blank\">\n              <help-icon />\n            </gl-link>\n          </template>\n          <template #resetLink=\"{ content }\">\n            <gl-button\n              variant=\"link\"\n              data-testid=\"reset_email_token_link\"\n              @click=\"resetIncomingEmailToken\"\n            >\n              {{ content }}\n            </gl-button>\n          </template>\n        </gl-sprintf>\n      </p>\n      <template #modal-footer>\n        <gl-button category=\"secondary\" @click=\"cancelHandler\">{{ __('Cancel') }}</gl-button>\n      </template>\n    </gl-modal>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./issuable_by_email.vue?vue&type=template&id=063f56ce\"\nimport script from \"./issuable_by_email.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_by_email.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\":\"setSortPreference\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UserPreferencesUpdateInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userPreferencesUpdate\"},\"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\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":124}};\n    doc.loc.source = {\"body\":\"mutation setSortPreference($input: UserPreferencesUpdateInput!) {\\n  userPreferencesUpdate(input: $input) {\\n    errors\\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[\"setSortPreference\"] = oneQuery(doc, \"setSortPreference\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"reorderIssues\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"oldIndex\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"newIndex\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"namespace\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"serializedVariables\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reorderIssues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"oldIndex\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"oldIndex\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"newIndex\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"newIndex\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"namespace\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"namespace\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"serializedVariables\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"serializedVariables\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[]}]}]}}],\"loc\":{\"start\":0,\"end\":265}};\n    doc.loc.source = {\"body\":\"mutation reorderIssues(\\n  $oldIndex: Int\\n  $newIndex: Int\\n  $namespace: String\\n  $serializedVariables: String\\n) {\\n  reorderIssues(\\n    oldIndex: $oldIndex\\n    newIndex: $newIndex\\n    namespace: $namespace\\n    serializedVariables: $serializedVariables\\n  ) @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[\"reorderIssues\"] = oneQuery(doc, \"reorderIssues\");\n        \n","import { __ } from '~/locale';\n\nclass RecentSearchesServiceError extends Error {\n  constructor(message) {\n    super(message || __('Recent Searches Service is unavailable'));\n    this.name = 'RecentSearchesServiceError';\n  }\n}\n\nexport default RecentSearchesServiceError;\n","import AccessorUtilities from '~/lib/utils/accessor';\nimport RecentSearchesServiceError from './recent_searches_service_error';\n\nclass RecentSearchesService {\n  constructor(localStorageKey = 'issuable-recent-searches') {\n    this.localStorageKey = localStorageKey;\n  }\n\n  fetch() {\n    if (!RecentSearchesService.isAvailable()) {\n      const error = new RecentSearchesServiceError();\n      return Promise.reject(error);\n    }\n\n    const input = window.localStorage.getItem(this.localStorageKey);\n\n    let searches = [];\n    if (input && input.length > 0) {\n      try {\n        searches = JSON.parse(input);\n      } catch (err) {\n        return Promise.reject(err);\n      }\n    }\n\n    return Promise.resolve(searches);\n  }\n\n  save(searches = []) {\n    if (!RecentSearchesService.isAvailable()) return;\n\n    window.localStorage.setItem(this.localStorageKey, JSON.stringify(searches));\n  }\n\n  static isAvailable() {\n    return AccessorUtilities.canUseLocalStorage();\n  }\n}\n\nexport default RecentSearchesService;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.displayAsText)?_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:({ disabled: _vm.disableTooltip }),expression:\"{ disabled: disableTooltip }\"}],staticClass:\"gl-inline-flex gl-items-center\",class:[_vm.statusColor, _vm.textSizeClass, !_vm.disableTooltip ? 'gl-cursor-help' : undefined],attrs:{\"data-testid\":\"status-text\",\"title\":_vm.__('Health status')}},[_c('gl-icon',{staticClass:\"gl-mr-2\",attrs:{\"size\":16,\"name\":_vm.statusIcon}}),_vm._v(_vm._s(_vm.statusText))],1):_c('gl-badge',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-font-bold\",attrs:{\"title\":_vm.__('Health status'),\"variant\":_vm.statusClass}},[_vm._v(\"\\n  \"+_vm._s(_vm.statusText)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_health_status.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_health_status.vue?vue&type=script&lang=js\"","<script>\nimport { GlBadge, GlIcon, GlTooltipDirective } from '@gitlab/ui';\nimport {\n  healthStatusTextMap,\n  healthStatusVariantMap,\n  healthStatusIconMap,\n  healthStatusColorMap,\n} from 'ee/sidebar/constants';\n\nexport default {\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  components: {\n    GlBadge,\n    GlIcon,\n  },\n  props: {\n    healthStatus: {\n      type: String,\n      required: true,\n      validator: (value) => Object.keys(healthStatusTextMap).includes(value),\n    },\n    displayAsText: {\n      type: Boolean,\n      required: false,\n    },\n    textSize: {\n      type: String,\n      required: false,\n      default: 'base',\n      validator: (value) => ['base', 'sm'].includes(value),\n    },\n    disableTooltip: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    statusText() {\n      return healthStatusTextMap[this.healthStatus];\n    },\n    statusClass() {\n      return healthStatusVariantMap[this.healthStatus];\n    },\n    statusIcon() {\n      return healthStatusIconMap[this.healthStatus];\n    },\n    statusColor() {\n      return healthStatusColorMap[this.healthStatus];\n    },\n    textSizeClass() {\n      switch (this.textSize) {\n        case 'sm':\n          return 'gl-text-sm';\n        case 'base':\n        default:\n          return 'gl-text-base';\n      }\n    },\n  },\n};\n</script>\n\n<template>\n  <span\n    v-if=\"displayAsText\"\n    v-gl-tooltip=\"{ disabled: disableTooltip }\"\n    data-testid=\"status-text\"\n    :title=\"__('Health status')\"\n    class=\"gl-inline-flex gl-items-center\"\n    :class=\"[statusColor, textSizeClass, !disableTooltip ? 'gl-cursor-help' : undefined]\"\n    ><gl-icon class=\"gl-mr-2\" :size=\"16\" :name=\"statusIcon\" />{{ statusText }}</span\n  >\n  <gl-badge\n    v-else\n    v-gl-tooltip\n    class=\"gl-font-bold\"\n    :title=\"__('Health status')\"\n    :variant=\"statusClass\"\n  >\n    {{ statusText }}\n  </gl-badge>\n</template>\n","import { render, staticRenderFns } from \"./issue_health_status.vue?vue&type=template&id=a58aa410\"\nimport script from \"./issue_health_status.vue?vue&type=script&lang=js\"\nexport * from \"./issue_health_status.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","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAAAAAAdJSU2AAACNElEQVR4AdXYBa7jMBCA4b3/JZahzIkjp2qt+BWUWnG5ln2XxaJJb2b5F2ukL4wvzK/rP7bUcbf92u6oftLSe1ldk8efsfaVeEjusZZeC6e1RllaCk/yG6ag1lZ4WwPX69uyD6tAe/g2ipAlNMRS37awDLaFrpcMWxXQOi0jnWCWjFkSZomYJWDWKmatYNZyEWkJsvQimoZYah5NgdaLxagCtF6GRy0DshZPkeYwS/KIJWGWYjwYUzDLxCwDtJ54OKglimBLqHWahii2g1pmHLLGBmwVoRjcKlmgOdw65H5qKuGWCVi5Qlhs6m1sENZi4q3AWNvca5UYy2RjT/SAsiZey6CsIvc0wVlV5lJ0ibPMyLUGCmlxQq0IM0hLdWyro7CWEc3sXsqaK4O2zLxOsmtpfW5Q1u68ZrVmepaaNXEewawtI9X5Xl3U3n1qND6+rfPzvqoIWz/fklNCSLY153YV53J/XUxGCJnKZ1lajsn3/Ffegf6Y5pV2LUsSNL2UHzxUfh3TlYpZqqTpXZm0KZk9zJcqaEmaWPHDw0pxe05K7bWOLHFLWXVetqpYmrjle4+1y0aBaF4UOQ1NU+lYezJClkjLUnSEjqhH6zjAW4OjtY39Ibq+sawUb6W2RQfoqG0VeKuwrRJvlba17faRdbe2pTtYq6Nty/S7yAbGsQjWIq41wVoT1+IdZNy1djUcVdu5lklQWC0xHkt1X31qNEE1Pr3qKv/9XiSNj6Aaifj3/69+AYujsR/MvkpZAAAAAElFTkSuQmCC\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('local-storage-sync',{attrs:{\"storage-key\":_vm.localStorageKey,\"value\":_vm.selectedProjectForLocalStorage},on:{\"input\":_vm.initFromLocalStorage}},[_c('gl-dropdown',{ref:\"dropdown\",staticClass:\"!gl-flex !gl-w-auto\",attrs:{\"right\":\"\",\"split\":\"\",\"split-href\":_vm.dropdownHref,\"text\":_vm.dropdownText,\"toggle-text\":_vm.$options.i18n.toggleButtonLabel,\"variant\":\"confirm\",\"data-testid\":\"new-resource-dropdown\",\"toggle-class\":\"!gl-m-0 !gl-w-auto !gl-grow-0\"},on:{\"click\":_vm.handleDropdownClick,\"shown\":_vm.handleDropdownShown}},[_c('gl-search-box-by-type',{ref:\"search\",model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}}),_vm._v(\" \"),(_vm.$apollo.queries.projects.loading)?_c('gl-loading-icon'):[_vm._l((_vm.projects),function(project){return _c('gl-dropdown-item',{key:project.id,on:{\"click\":function($event){return _vm.selectProject(project)}}},[_vm._v(\"\\n        \"+_vm._s(project.nameWithNamespace || project.name)+\"\\n      \")])}),_vm._v(\" \"),(_vm.showNoSearchResultsText)?_c('gl-dropdown-text',[_vm._v(\"\\n        \"+_vm._s(_vm.$options.i18n.noMatchesFound)+\"\\n      \")]):_vm._e()]],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new_resource_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new_resource_dropdown.vue?vue&type=script&lang=js\"","<script>\nimport {\n  GlDropdown,\n  GlDropdownItem,\n  GlDropdownText,\n  GlLoadingIcon,\n  GlSearchBoxByType,\n} from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport { DASH_SCOPE, joinPaths } from '~/lib/utils/url_utility';\nimport { __, sprintf } from '~/locale';\nimport { DEBOUNCE_DELAY } from '~/vue_shared/components/filtered_search_bar/constants';\nimport AccessorUtilities from '~/lib/utils/accessor';\nimport LocalStorageSync from '~/vue_shared/components/local_storage_sync.vue';\nimport searchUserProjectsWithIssuesEnabled from './graphql/search_user_projects_with_issues_enabled.query.graphql';\nimport { RESOURCE_TYPE_ISSUE, RESOURCE_TYPES, RESOURCE_OPTIONS } from './constants';\n\nexport default {\n  i18n: {\n    noMatchesFound: __('No matches found'),\n    toggleButtonLabel: __('Toggle project select'),\n  },\n  components: {\n    GlDropdown,\n    GlDropdownItem,\n    GlDropdownText,\n    GlLoadingIcon,\n    GlSearchBoxByType,\n    LocalStorageSync,\n  },\n  props: {\n    resourceType: {\n      type: String,\n      required: false,\n      default: RESOURCE_TYPE_ISSUE,\n      validator: (value) => RESOURCE_TYPES.includes(value),\n    },\n    query: {\n      type: Object,\n      required: false,\n      default: () => searchUserProjectsWithIssuesEnabled,\n    },\n    groupId: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    queryVariables: {\n      type: Object,\n      required: false,\n      default: () => ({}),\n    },\n    extractProjects: {\n      type: Function,\n      required: false,\n      default: (data) => data?.projects?.nodes,\n    },\n    withLocalStorage: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  data() {\n    return {\n      projects: [],\n      search: '',\n      selectedProject: {},\n      shouldSkipQuery: true,\n    };\n  },\n  apollo: {\n    projects: {\n      query() {\n        return this.query;\n      },\n      variables() {\n        return {\n          search: this.search,\n          ...this.queryVariables,\n        };\n      },\n      update(data) {\n        return this.extractProjects(data) || [];\n      },\n      error(error) {\n        createAlert({\n          message: __('An error occurred while loading projects.'),\n          captureError: true,\n          error,\n        });\n      },\n      skip() {\n        return this.shouldSkipQuery;\n      },\n      debounce: DEBOUNCE_DELAY,\n    },\n  },\n  computed: {\n    localStorageKey() {\n      return `group-${this.groupId}-new-${this.resourceType}-recent-project`;\n    },\n    resourceOptions() {\n      return RESOURCE_OPTIONS[this.resourceType];\n    },\n    defaultDropdownText() {\n      return sprintf(__('Select project to create %{type}'), { type: this.resourceOptions.label });\n    },\n    dropdownHref() {\n      return this.hasSelectedProject\n        ? joinPaths(this.selectedProject.webUrl, DASH_SCOPE, this.resourceOptions.path)\n        : undefined;\n    },\n    dropdownText() {\n      return this.hasSelectedProject\n        ? sprintf(__('New %{type} in %{project}'), {\n            type: this.resourceOptions.label,\n            project: this.selectedProject.name,\n          })\n        : this.defaultDropdownText;\n    },\n    hasSelectedProject() {\n      return this.selectedProject.webUrl;\n    },\n    showNoSearchResultsText() {\n      return !this.projects.length && this.search;\n    },\n    canUseLocalStorage() {\n      return this.withLocalStorage && AccessorUtilities.canUseLocalStorage();\n    },\n    selectedProjectForLocalStorage() {\n      const { webUrl, name } = this.selectedProject;\n\n      return { webUrl, name };\n    },\n  },\n  methods: {\n    handleDropdownClick() {\n      if (!this.dropdownHref) {\n        this.$refs.dropdown.show();\n      }\n    },\n    handleDropdownShown() {\n      if (this.shouldSkipQuery) {\n        this.shouldSkipQuery = false;\n      }\n      this.$refs.search.focusInput();\n    },\n    selectProject(project) {\n      this.selectedProject = project;\n    },\n    initFromLocalStorage(storedProject) {\n      // Historically, the selected project was saved with the URL as the `url` property, so we are\n      // falling back to that legacy property if `webUrl` is empty. This ensures that we support\n      // localStorage data that was persisted prior to this change.\n      let webUrl = storedProject.webUrl || storedProject.url;\n\n      // The select2 implementation used to include the resource path in the local storage. We\n      // need to clean this up so that we can then re-build a fresh URL in the computed prop.\n      webUrl = webUrl.endsWith(this.resourceOptions.path)\n        ? webUrl.slice(0, webUrl.length - this.resourceOptions.path.length)\n        : webUrl;\n      const dashSuffix = `${DASH_SCOPE}/`;\n      webUrl = webUrl.endsWith(dashSuffix)\n        ? webUrl.slice(0, webUrl.length - dashSuffix.length)\n        : webUrl;\n\n      this.selectedProject = { webUrl, name: storedProject.name };\n    },\n  },\n};\n</script>\n\n<template>\n  <local-storage-sync\n    :storage-key=\"localStorageKey\"\n    :value=\"selectedProjectForLocalStorage\"\n    @input=\"initFromLocalStorage\"\n  >\n    <gl-dropdown\n      ref=\"dropdown\"\n      right\n      split\n      :split-href=\"dropdownHref\"\n      :text=\"dropdownText\"\n      :toggle-text=\"$options.i18n.toggleButtonLabel\"\n      variant=\"confirm\"\n      data-testid=\"new-resource-dropdown\"\n      class=\"!gl-flex !gl-w-auto\"\n      toggle-class=\"!gl-m-0 !gl-w-auto !gl-grow-0\"\n      @click=\"handleDropdownClick\"\n      @shown=\"handleDropdownShown\"\n    >\n      <gl-search-box-by-type ref=\"search\" v-model.trim=\"search\" />\n      <gl-loading-icon v-if=\"$apollo.queries.projects.loading\" />\n      <template v-else>\n        <gl-dropdown-item\n          v-for=\"project of projects\"\n          :key=\"project.id\"\n          @click=\"selectProject(project)\"\n        >\n          {{ project.nameWithNamespace || project.name }}\n        </gl-dropdown-item>\n        <gl-dropdown-text v-if=\"showNoSearchResultsText\">\n          {{ $options.i18n.noMatchesFound }}\n        </gl-dropdown-text>\n      </template>\n    </gl-dropdown>\n  </local-storage-sync>\n</template>\n","import { render, staticRenderFns } from \"./new_resource_dropdown.vue?vue&type=template&id=93205c94\"\nimport script from \"./new_resource_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./new_resource_dropdown.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 { extend, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\n\n// --- Props ---\n\nconst props = makePropsConfigurable({\n  tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_TEXT);\n\n// --- Main component ---\n\n// @vue/component\nconst BInputGroupText = /*#__PURE__*/extend({\n  name: NAME_INPUT_GROUP_TEXT,\n  functional: true,\n  props,\n  render(h, _ref) {\n    let {\n      props,\n      data,\n      children\n    } = _ref;\n    return h(props.tag, mergeData(data, {\n      staticClass: 'input-group-text'\n    }), children);\n  }\n});\n\nexport { BInputGroupText, props };\n","import { extend, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text';\n\n// --- Props ---\n\nconst props = makePropsConfigurable({\n  append: makeProp(PROP_TYPE_BOOLEAN, false),\n  id: makeProp(PROP_TYPE_STRING),\n  isText: makeProp(PROP_TYPE_BOOLEAN, false),\n  tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON);\n\n// --- Main component ---\n\n// @vue/component\nconst BInputGroupAddon = /*#__PURE__*/extend({\n  name: NAME_INPUT_GROUP_ADDON,\n  functional: true,\n  props,\n  render(h, _ref) {\n    let {\n      props,\n      data,\n      children\n    } = _ref;\n    const {\n      append\n    } = props;\n    return h(props.tag, mergeData(data, {\n      class: {\n        'input-group-append': append,\n        'input-group-prepend': !append\n      },\n      attrs: {\n        id: props.id\n      }\n    }), props.isText ? [h(BInputGroupText, children)] : children);\n  }\n});\n\nexport { BInputGroupAddon, props };\n","import { extend, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_APPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { props as props$1, BInputGroupAddon } from './input-group-addon';\n\n// --- Props ---\n\nconst props = makePropsConfigurable(omit(props$1, ['append']), NAME_INPUT_GROUP_APPEND);\n\n// --- Main component ---\n\n// @vue/component\nconst BInputGroupAppend = /*#__PURE__*/extend({\n  name: NAME_INPUT_GROUP_APPEND,\n  functional: true,\n  props,\n  render(h, _ref) {\n    let {\n      props,\n      data,\n      children\n    } = _ref;\n    // Pass all our data down to child, and set `append` to `true`\n    return h(BInputGroupAddon, mergeData(data, {\n      props: {\n        ...props,\n        append: true\n      }\n    }), children);\n  }\n});\n\nexport { BInputGroupAppend, props };\n","import { extend, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { props as props$1, BInputGroupAddon } from './input-group-addon';\n\n// --- Props ---\n\nconst props = makePropsConfigurable(omit(props$1, ['append']), NAME_INPUT_GROUP_PREPEND);\n\n// --- Main component ---\n\n// @vue/component\nconst BInputGroupPrepend = /*#__PURE__*/extend({\n  name: NAME_INPUT_GROUP_PREPEND,\n  functional: true,\n  props,\n  render(h, _ref) {\n    let {\n      props,\n      data,\n      children\n    } = _ref;\n    // Pass all our data down to child, and set `append` to `true`\n    return h(BInputGroupAddon, mergeData(data, {\n      props: {\n        ...props,\n        append: false\n      }\n    }), children);\n  }\n});\n\nexport { BInputGroupPrepend, props };\n","import { extend, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_PREPEND, SLOT_NAME_APPEND, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text';\n\n// --- Props ---\n\nconst props = makePropsConfigurable({\n  append: makeProp(PROP_TYPE_STRING),\n  appendHtml: makeProp(PROP_TYPE_STRING),\n  id: makeProp(PROP_TYPE_STRING),\n  prepend: makeProp(PROP_TYPE_STRING),\n  prependHtml: makeProp(PROP_TYPE_STRING),\n  size: makeProp(PROP_TYPE_STRING),\n  tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP);\n\n// --- Main component ---\n\n// @vue/component\nconst BInputGroup = /*#__PURE__*/extend({\n  name: NAME_INPUT_GROUP,\n  functional: true,\n  props,\n  render(h, _ref) {\n    let {\n      props,\n      data,\n      slots,\n      scopedSlots\n    } = _ref;\n    const {\n      prepend,\n      prependHtml,\n      append,\n      appendHtml,\n      size\n    } = props;\n    const $scopedSlots = scopedSlots || {};\n    const $slots = slots();\n    const slotScope = {};\n    let $prepend = h();\n    const hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n    if (hasPrependSlot || prepend || prependHtml) {\n      $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n        domProps: htmlOrText(prependHtml, prepend)\n      })]);\n    }\n    let $append = h();\n    const hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n    if (hasAppendSlot || append || appendHtml) {\n      $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n        domProps: htmlOrText(appendHtml, append)\n      })]);\n    }\n    return h(props.tag, mergeData(data, {\n      staticClass: 'input-group',\n      class: {\n        [`input-group-${size}`]: size\n      },\n      attrs: {\n        id: props.id || null,\n        role: 'group'\n      }\n    }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n  }\n});\n\nexport { BInputGroup, props };\n","const InputGroupMixin = {\n  props: {\n    value: {\n      type: [String, Number],\n      default: ''\n    }\n  },\n  data() {\n    return {\n      localValue: this.stringifyValue(this.value)\n    };\n  },\n  watch: {\n    value(newVal) {\n      if (newVal !== this.localValue) {\n        this.localValue = this.stringifyValue(newVal);\n      }\n    },\n    localValue(newVal) {\n      if (newVal !== this.value) {\n        this.$emit('input', newVal);\n      }\n    }\n  },\n  mounted() {\n    const value = this.stringifyValue(this.value);\n    if (this.activeOption) {\n      const activeOption = this.predefinedOptions.find(opt => opt.name === this.activeOption);\n      this.localValue = activeOption.value;\n    } else if (value !== this.localValue) {\n      this.localValue = value;\n    }\n  },\n  methods: {\n    stringifyValue(value) {\n      return value === undefined || value === null ? '' : String(value);\n    }\n  }\n};\n\nexport { InputGroupMixin };\n","import { BInputGroup } from '../../../../vendor/bootstrap-vue/src/components/input-group/input-group';\nimport { BInputGroupPrepend } from '../../../../vendor/bootstrap-vue/src/components/input-group/input-group-prepend';\nimport { BInputGroupAppend } from '../../../../vendor/bootstrap-vue/src/components/input-group/input-group-append';\nimport { BFormInput } from '../../../../vendor/bootstrap-vue/src/components/form-input/form-input';\nimport GlDropdown from '../../dropdown/dropdown';\nimport GlDropdownItem from '../../dropdown/dropdown_item';\nimport { InputGroupMixin } from './form_input_group_mixin';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n  name: 'GlFormInputGroup',\n  components: {\n    BInputGroup,\n    BInputGroupPrepend,\n    BInputGroupAppend,\n    BFormInput,\n    GlDropdown,\n    GlDropdownItem\n  },\n  mixins: [InputGroupMixin],\n  inheritAttrs: false,\n  props: {\n    /**\n     * Automatically selects the content of the input field on click.\n     */\n    selectOnClick: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    /**\n     * Array of options. Each option should have `name` and `value` information: {name: \"Foo\", value: \"Bar\"})\n     */\n    predefinedOptions: {\n      type: Array,\n      required: false,\n      default: () => [{\n        value: '',\n        name: ''\n      }],\n      validator: options => options.every(opt => Object.keys(opt).includes('name', 'value'))\n    },\n    label: {\n      type: String,\n      required: false,\n      default: undefined\n    },\n    inputClass: {\n      type: [String, Array, Object],\n      required: false,\n      default: ''\n    }\n  },\n  data() {\n    return {\n      activeOption: this.predefinedOptions && this.predefinedOptions[0].name\n    };\n  },\n  methods: {\n    handleClick() {\n      if (this.selectOnClick) {\n        this.$refs.input.$el.select();\n      }\n    },\n    updateValue(option) {\n      const {\n        name,\n        value\n      } = option;\n      this.activeOption = name;\n      this.localValue = value;\n    }\n  }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-input-group',[(_vm.activeOption || _vm.$scopedSlots.prepend)?_c('b-input-group-prepend',[_vm._t(\"prepend\"),_vm._v(\" \"),(_vm.activeOption)?_c('gl-dropdown',{attrs:{\"text\":_vm.activeOption}},_vm._l((_vm.predefinedOptions),function(option){return _c('gl-dropdown-item',{key:option.value,attrs:{\"is-check-item\":\"\",\"is-checked\":_vm.activeOption === option.name},on:{\"click\":function($event){return _vm.updateValue(option)}}},[_vm._v(\"\\n        \"+_vm._s(option.name)+\"\\n      \")])}),1):_vm._e()],2):_vm._e(),_vm._v(\" \"),_vm._t(\"default\",function(){return [_c('b-form-input',_vm._g(_vm._b({ref:\"input\",class:['gl-form-input', _vm.inputClass],attrs:{\"aria-label\":_vm.label},on:{\"click\":_vm.handleClick},model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v;},expression:\"localValue\"}},'b-form-input',_vm.$attrs,false),_vm.$listeners))]}),_vm._v(\" \"),(_vm.$scopedSlots.append)?_c('b-input-group-append',[_vm._t(\"append\")],2):_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","import { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING, PROP_TYPE_ARRAY_OBJECT_STRING } from '../../constants/props';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\n\n// --- Props ---\n\nconst props = makePropsConfigurable({\n  tag: makeProp(PROP_TYPE_STRING, 'p'),\n  textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_TEXT);\n\n// --- Main component ---\n\n// @vue/component\nconst BDropdownText = /*#__PURE__*/extend({\n  name: NAME_DROPDOWN_TEXT,\n  functional: true,\n  props,\n  render(h, _ref) {\n    let {\n      props,\n      data,\n      children\n    } = _ref;\n    const {\n      tag,\n      textClass,\n      variant\n    } = props;\n    return h('li', mergeData(omit(data, ['attrs']), {\n      attrs: {\n        role: 'presentation'\n      }\n    }), [h(tag, {\n      staticClass: 'b-dropdown-text',\n      class: [textClass, {\n        [`text-${variant}`]: variant\n      }],\n      props,\n      attrs: data.attrs || {},\n      ref: 'text'\n    }, children)]);\n  }\n});\n\nexport { BDropdownText, props };\n","import { BDropdownText } from '../../../vendor/bootstrap-vue/src/components/dropdown/dropdown-text';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n  name: 'GlDropdownText',\n  components: {\n    BDropdownText\n  },\n  inheritAttrs: false\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-dropdown-text',_vm._g(_vm._b({staticClass:\"gl-dropdown-text\"},'b-dropdown-text',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',[_c('gl-icon',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.hover\",value:(_vm.showTooltipOnHover),expression:\"showTooltipOnHover\",modifiers:{\"hover\":true}}],class:_vm.iconClass,attrs:{\"name\":_vm.iconName,\"title\":_vm.workItemTooltipTitle,\"variant\":_vm.iconVariant}}),_vm._v(\" \"),(_vm.workItemTypeName)?_c('span',{class:{ 'gl-sr-only': !_vm.showText }},[_vm._v(_vm._s(_vm.workItemTypeName))]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_type_icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_type_icon.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlTooltipDirective } from '@gitlab/ui';\nimport { WORK_ITEMS_TYPE_MAP } from '../constants';\n\nexport default {\n  components: {\n    GlIcon,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    workItemType: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    showText: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    workItemIconName: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    showTooltipOnHover: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    iconVariant: {\n      type: String,\n      required: false,\n      default: 'default',\n    },\n    iconClass: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  computed: {\n    workItemTypeUppercase() {\n      return this.workItemType.toUpperCase().split(' ').join('_');\n    },\n    iconName() {\n      // TODO Delete this conditional once we have an `issue-type-epic` icon\n      if (this.workItemIconName === 'issue-type-epic') {\n        return 'epic';\n      }\n\n      return (\n        this.workItemIconName ||\n        WORK_ITEMS_TYPE_MAP[this.workItemTypeUppercase]?.icon ||\n        'issue-type-issue'\n      );\n    },\n    workItemTypeName() {\n      return WORK_ITEMS_TYPE_MAP[this.workItemTypeUppercase]?.name;\n    },\n    workItemTooltipTitle() {\n      return this.showTooltipOnHover ? this.workItemTypeName : '';\n    },\n  },\n};\n</script>\n\n<template>\n  <span>\n    <gl-icon\n      v-gl-tooltip.hover=\"showTooltipOnHover\"\n      :name=\"iconName\"\n      :title=\"workItemTooltipTitle\"\n      :variant=\"iconVariant\"\n      :class=\"iconClass\"\n    />\n    <span v-if=\"workItemTypeName\" :class=\"{ 'gl-sr-only': !showText }\">{{ workItemTypeName }}</span>\n  </span>\n</template>\n","import { render, staticRenderFns } from \"./work_item_type_icon.vue?vue&type=template&id=44981faf\"\nimport script from \"./work_item_type_icon.vue?vue&type=script&lang=js\"\nexport * from \"./work_item_type_icon.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","export default __webpack_public_path__ + \"empty-epic-md.7978cef8.svg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-drawer',{directives:[{name:\"gl-outside\",rawName:\"v-gl-outside\",value:(_vm.handleClickOutside),expression:\"handleClickOutside\"}],staticClass:\"gl-w-full gl-leading-reset lg:gl-w-[480px] xl:gl-w-[768px] min-[1440px]:gl-w-[912px]\",attrs:{\"open\":_vm.open,\"z-index\":200,\"data-testid\":\"work-item-drawer\",\"header-sticky\":\"\",\"header-height\":\"calc(var(--top-bar-height) + var(--performance-bar-height))\"},on:{\"close\":_vm.handleClose},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('div',{staticClass:\"gl-text gl-flex gl-w-full gl-items-center gl-gap-x-2 xl:gl-px-4\"},[_c('gl-link',{ref:\"workItemUrl\",staticClass:\"gl-text-sm gl-font-bold gl-text-default\",attrs:{\"data-testid\":\"work-item-drawer-ref-link\",\"href\":_vm.activeItem.webUrl},on:{\"click\":_vm.redirectToWorkItem}},[_vm._v(\"\\n        \"+_vm._s(_vm.headerReference)+\"\\n      \")]),_vm._v(\" \"),_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-text-subtle\",attrs:{\"data-testid\":\"work-item-drawer-copy-button\",\"title\":_vm.copyTooltipText,\"category\":\"tertiary\",\"icon\":\"link\",\"size\":\"small\",\"aria-label\":_vm.$options.i18n.copyTooltipText,\"data-clipboard-text\":_vm.activeItem.webUrl},on:{\"click\":_vm.handleCopyToClipboard}}),_vm._v(\" \"),_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-text-subtle\",attrs:{\"data-testid\":\"work-item-drawer-link-button\",\"href\":_vm.activeItem.webUrl,\"title\":_vm.$options.i18n.openTooltipText,\"category\":\"tertiary\",\"icon\":\"maximize\",\"size\":\"small\",\"aria-label\":_vm.$options.i18n.openTooltipText},on:{\"click\":_vm.redirectToWorkItem}})],1)]},proxy:true},{key:\"default\",fn:function(){return [_c('work-item-detail',_vm._g({key:_vm.activeItem.iid,staticClass:\"work-item-drawer !gl-pt-0 xl:!gl-px-6\",attrs:{\"work-item-iid\":_vm.activeItem.iid,\"modal-work-item-full-path\":_vm.activeItemFullPath,\"modal-is-group\":_vm.modalIsGroup,\"is-drawer\":\"\"},on:{\"deleteWorkItem\":_vm.deleteWorkItem,\"workItemTypeChanged\":function($event){return _vm.$emit('workItemTypeChanged', $event)}}},_vm.$listeners))]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_drawer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_drawer.vue?vue&type=script&lang=js\"","<script>\nimport { GlLink, GlDrawer, GlButton, GlTooltipDirective, GlOutsideDirective } from '@gitlab/ui';\nimport { __ } from '~/locale';\nimport deleteWorkItemMutation from '~/work_items/graphql/delete_work_item.mutation.graphql';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants';\nimport { DETAIL_VIEW_QUERY_PARAM_NAME } from '~/work_items/constants';\nimport * as Sentry from '~/sentry/sentry_browser_wrapper';\nimport { visitUrl, setUrlParams, updateHistory, removeParams } from '~/lib/utils/url_utility';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { makeDrawerItemFullPath, makeDrawerUrlParam, canRouterNav } from '../utils';\n\nexport default {\n  name: 'WorkItemDrawer',\n  directives: {\n    GlTooltip: GlTooltipDirective,\n    GlOutside: GlOutsideDirective,\n  },\n  components: {\n    GlLink,\n    GlDrawer,\n    GlButton,\n    WorkItemDetail: () => import('~/work_items/components/work_item_detail.vue'),\n  },\n  mixins: [glFeatureFlagMixin()],\n  inject: ['fullPath', 'isGroup'],\n  inheritAttrs: false,\n  props: {\n    open: {\n      type: Boolean,\n      required: true,\n    },\n    activeItem: {\n      type: Object,\n      required: false,\n      default: () => ({}),\n    },\n    issuableType: {\n      type: String,\n      required: false,\n      default: TYPE_ISSUE,\n    },\n    clickOutsideExcludeSelector: {\n      type: String,\n      required: false,\n      default: null,\n    },\n  },\n  data() {\n    return {\n      copyTooltipText: this.$options.i18n.copyTooltipText,\n    };\n  },\n  computed: {\n    activeItemFullPath() {\n      return makeDrawerItemFullPath(this.activeItem, this.fullPath, this.issuableType);\n    },\n    modalIsGroup() {\n      return this.issuableType.toLowerCase() === TYPE_EPIC;\n    },\n    headerReference() {\n      const path = this.activeItemFullPath.substring(this.activeItemFullPath.lastIndexOf('/') + 1);\n      return `${path}#${this.activeItem.iid}`;\n    },\n    issueAsWorkItem() {\n      return (\n        !this.isGroup &&\n        this.glFeatures.workItemsViewPreference &&\n        gon.current_user_use_work_items_view\n      );\n    },\n  },\n  watch: {\n    activeItem: {\n      deep: true,\n      immediate: true,\n      handler(newValue) {\n        if (newValue?.iid) {\n          this.setDrawerParams();\n          // focus on header link when drawer is updated\n          this.$nextTick(() => {\n            this.focusOnHeaderLink();\n          });\n        }\n      },\n    },\n    open: {\n      immediate: true,\n      handler(newValue) {\n        if (newValue) {\n          // focus on header link when drawer is updated\n          this.$nextTick(() => {\n            this.focusOnHeaderLink();\n          });\n        }\n      },\n    },\n  },\n  methods: {\n    async deleteWorkItem({ workItemId }) {\n      try {\n        const { data } = await this.$apollo.mutate({\n          mutation: deleteWorkItemMutation,\n          variables: { input: { id: workItemId } },\n        });\n        if (data.workItemDelete.errors?.length) {\n          throw new Error(data.workItemDelete.errors[0]);\n        }\n        this.$emit('workItemDeleted', { id: workItemId });\n      } catch (error) {\n        this.$emit('deleteWorkItemError');\n        Sentry.captureException(error);\n      }\n    },\n    redirectToWorkItem(e) {\n      const workItem = this.activeItem;\n      if (e.metaKey || e.ctrlKey) {\n        return;\n      }\n      e.preventDefault();\n      const shouldRouterNav =\n        !this.preventRouterNav &&\n        this.$router &&\n        canRouterNav({\n          fullPath: this.fullPath,\n          webUrl: workItem.webUrl,\n          isGroup: this.isGroup,\n          issueAsWorkItem: this.issueAsWorkItem,\n        });\n\n      if (shouldRouterNav) {\n        this.$router.push({\n          name: 'workItem',\n          params: {\n            iid: workItem.iid,\n          },\n        });\n      } else {\n        visitUrl(workItem.webUrl);\n      }\n    },\n    handleCopyToClipboard() {\n      this.copyTooltipText = this.$options.i18n.copiedTooltipText;\n      setTimeout(() => {\n        this.copyTooltipText = this.$options.i18n.copyTooltipText;\n      }, 2000);\n    },\n    setDrawerParams() {\n      const params = makeDrawerUrlParam(this.activeItem, this.fullPath, this.issuableType);\n      updateHistory({\n        // we're using `show` to match the modal view parameter\n        url: setUrlParams({ [DETAIL_VIEW_QUERY_PARAM_NAME]: params }),\n      });\n    },\n    handleClose(isClickedOutside) {\n      updateHistory({ url: removeParams([DETAIL_VIEW_QUERY_PARAM_NAME]) });\n\n      if (!isClickedOutside) {\n        document\n          .getElementById(\n            `listItem-${this.activeItemFullPath}/${getIdFromGraphQLId(this.activeItem.id)}`,\n          )\n          ?.focus();\n      }\n\n      this.$emit('close');\n    },\n    handleClickOutside(event) {\n      for (const selector of this.$options.defaultExcludedSelectors) {\n        const excludedElements = document.querySelectorAll(selector);\n        for (const parent of excludedElements) {\n          if (parent.contains(event.target)) {\n            return;\n          }\n        }\n      }\n      if (this.clickOutsideExcludeSelector) {\n        const excludedElements = document.querySelectorAll(this.clickOutsideExcludeSelector);\n        for (const parent of excludedElements) {\n          if (parent.contains(event.target)) {\n            return;\n          }\n        }\n      }\n      this.handleClose(true);\n    },\n    focusOnHeaderLink() {\n      this.$refs?.workItemUrl?.$el?.focus();\n    },\n  },\n  i18n: {\n    copyTooltipText: __('Copy item URL'),\n    copiedTooltipText: __('Copied'),\n    openTooltipText: __('Open in full page'),\n  },\n  defaultExcludedSelectors: [\n    '#confirmationModal',\n    '#create-timelog-modal',\n    '#set-time-estimate-modal',\n    '[id^=\"insert-comment-template-modal\"]',\n    '.pika-single',\n    '.atwho-container',\n    '.item-title',\n    '.tippy-content .gl-new-dropdown-panel',\n    '#blocked-by-issues-modal',\n    '#open-children-warning-modal',\n    '#create-work-item-modal',\n    '#work-item-confirm-delete',\n    '.work-item-link-child',\n    '.modal-content',\n    '#create-merge-request-modal',\n  ],\n};\n</script>\n\n<template>\n  <gl-drawer\n    v-gl-outside=\"handleClickOutside\"\n    :open=\"open\"\n    :z-index=\"200\"\n    data-testid=\"work-item-drawer\"\n    header-sticky\n    header-height=\"calc(var(--top-bar-height) + var(--performance-bar-height))\"\n    class=\"gl-w-full gl-leading-reset lg:gl-w-[480px] xl:gl-w-[768px] min-[1440px]:gl-w-[912px]\"\n    @close=\"handleClose\"\n  >\n    <template #title>\n      <div class=\"gl-text gl-flex gl-w-full gl-items-center gl-gap-x-2 xl:gl-px-4\">\n        <gl-link\n          ref=\"workItemUrl\"\n          data-testid=\"work-item-drawer-ref-link\"\n          :href=\"activeItem.webUrl\"\n          class=\"gl-text-sm gl-font-bold gl-text-default\"\n          @click=\"redirectToWorkItem\"\n        >\n          {{ headerReference }}\n        </gl-link>\n        <gl-button\n          v-gl-tooltip\n          data-testid=\"work-item-drawer-copy-button\"\n          :title=\"copyTooltipText\"\n          category=\"tertiary\"\n          class=\"gl-text-subtle\"\n          icon=\"link\"\n          size=\"small\"\n          :aria-label=\"$options.i18n.copyTooltipText\"\n          :data-clipboard-text=\"activeItem.webUrl\"\n          @click=\"handleCopyToClipboard\"\n        />\n        <gl-button\n          v-gl-tooltip\n          data-testid=\"work-item-drawer-link-button\"\n          :href=\"activeItem.webUrl\"\n          :title=\"$options.i18n.openTooltipText\"\n          category=\"tertiary\"\n          class=\"gl-text-subtle\"\n          icon=\"maximize\"\n          size=\"small\"\n          :aria-label=\"$options.i18n.openTooltipText\"\n          @click=\"redirectToWorkItem\"\n        />\n      </div>\n    </template>\n    <template #default>\n      <work-item-detail\n        :key=\"activeItem.iid\"\n        :work-item-iid=\"activeItem.iid\"\n        :modal-work-item-full-path=\"activeItemFullPath\"\n        :modal-is-group=\"modalIsGroup\"\n        is-drawer\n        class=\"work-item-drawer !gl-pt-0 xl:!gl-px-6\"\n        @deleteWorkItem=\"deleteWorkItem\"\n        @workItemTypeChanged=\"$emit('workItemTypeChanged', $event)\"\n        v-on=\"$listeners\"\n      />\n    </template>\n  </gl-drawer>\n</template>\n","import { render, staticRenderFns } from \"./work_item_drawer.vue?vue&type=template&id=77fbf59f\"\nimport script from \"./work_item_drawer.vue?vue&type=script&lang=js\"\nexport * from \"./work_item_drawer.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 { isEmpty, uniqWith, isEqual, isString } from 'lodash';\nimport AccessorUtilities from '~/lib/utils/accessor';\nimport { queryToObject } from '~/lib/utils/url_utility';\n\nimport { MAX_RECENT_TOKENS_SIZE, FILTERED_SEARCH_TERM } from './constants';\n\n/**\n * This method removes duplicate tokens from tokens array.\n *\n * @param {Array} tokens Array of tokens as defined by `GlFilteredSearch`\n *\n * @returns {Array} Unique array of tokens\n */\nexport const uniqueTokens = (tokens) => {\n  const knownTokens = [];\n  return tokens.reduce((uniques, token) => {\n    if (typeof token === 'object' && token.type !== FILTERED_SEARCH_TERM) {\n      const tokenString = `${token.type}${token.value.operator}${token.value.data}`;\n      if (!knownTokens.includes(tokenString)) {\n        uniques.push(token);\n        knownTokens.push(tokenString);\n      }\n    } else {\n      uniques.push(token);\n    }\n    return uniques;\n  }, []);\n};\n\n/**\n * Creates a token from a type and a filter. Example returned object\n * { type: 'myType', value: { data: 'myData', operator: '= '} }\n * @param  {String} type the name of the filter\n * @param  {Object}\n * @param  {Object.value} filter value to be returned as token data\n * @param  {Object.operator} filter operator to be retuned as token operator\n * @return {Object}\n * @return {Object.type} token type\n * @return {Object.value} token value\n */\nfunction createToken(type, filter) {\n  return { type, value: { data: filter.value, operator: filter.operator } };\n}\n\n/**\n * This function takes a filter object and translates it into a token array\n * @param  {Object} filters\n * @param  {Object.myFilterName} a single filter value or an array of filters\n * @return {Array} tokens an array of tokens created from filter values\n */\nexport function prepareTokens(filters = {}) {\n  return Object.keys(filters).reduce((memo, key) => {\n    const value = filters[key];\n    if (!value) {\n      return memo;\n    }\n    if (Array.isArray(value)) {\n      return [...memo, ...value.map((filterValue) => createToken(key, filterValue))];\n    }\n\n    return [...memo, createToken(key, value)];\n  }, []);\n}\n\n/**\n * This function takes a token array and translates it into a filter object\n * @param filters\n * @returns A Filter Object\n */\nexport function processFilters(filters) {\n  return filters.reduce((acc, token) => {\n    let type;\n    let value;\n    let operator;\n    if (typeof token === 'string') {\n      type = FILTERED_SEARCH_TERM;\n      value = token;\n    } else {\n      type = token?.type;\n      operator = token?.value?.operator;\n      value = token?.value?.data;\n    }\n\n    if (!acc[type]) {\n      acc[type] = [];\n    }\n\n    acc[type].push({ value, operator });\n    return acc;\n  }, {});\n}\n\nfunction filteredSearchQueryParam(filter) {\n  return filter\n    .map(({ value }) => value)\n    .join(' ')\n    .trim();\n}\n\n/**\n * This function takes a filter object and maps it into a query object. Example filter:\n * { myFilterName: { value: 'foo', operator: '=' }, search: [{ value: 'my' }, { value: 'search' }] }\n * gets translated into:\n * { myFilterName: 'foo', 'not[myFilterName]': null, search: 'my search' }\n * By default it supports '=' and '!=' operators. This can be extended by providing the `customOperators` option\n * @param  {Object} filters\n * @param  {Object} filters.myFilterName a single filter value or an array of filters\n * @param  {Object} options\n * @param  {Object} [options.filteredSearchTermKey] if set, 'filtered-search-term' filters are assigned to this key, 'search' is suggested\n * @param  {Object} [options.customOperators] Allows to extend the supported operators, e.g.\n *\n *    filterToQueryObject({foo: [{ value: '100', operator: '>' }]}, {customOperators: {operator: '>',prefix: 'gt'}})\n *      returns {gt[foo]: '100'}\n *    It's also possible to restrict custom operators to a given key by setting `applyOnlyToKey` string attribute.\n *\n * @return {Object} query object with both filter name and not-name with values\n */\nexport function filterToQueryObject(filters = {}, options = {}) {\n  const { filteredSearchTermKey, customOperators, shouldExcludeEmpty = false } = options;\n\n  return Object.keys(filters).reduce((memo, key) => {\n    const filter = filters[key];\n\n    if (typeof filteredSearchTermKey === 'string' && key === FILTERED_SEARCH_TERM && filter) {\n      const combinedFilteredSearchTerm = filteredSearchQueryParam(filter);\n      if (combinedFilteredSearchTerm === '' && shouldExcludeEmpty) {\n        return memo;\n      }\n\n      return { ...memo, [filteredSearchTermKey]: filteredSearchQueryParam(filter) };\n    }\n\n    const operators = [\n      { operator: '=' },\n      { operator: '!=', prefix: 'not' },\n      ...(customOperators ?? []),\n    ];\n\n    const result = {};\n\n    for (const op of operators) {\n      const { operator, prefix, applyOnlyToKey } = op;\n\n      if (!applyOnlyToKey || applyOnlyToKey === key) {\n        let value;\n        if (Array.isArray(filter)) {\n          value = filter.filter((item) => item.operator === operator).map((item) => item.value);\n        } else {\n          value = filter?.operator === operator ? filter.value : null;\n        }\n\n        if (isEmpty(value)) {\n          value = null;\n        }\n\n        if (shouldExcludeEmpty && (value?.[0] === '' || value === '' || value === null)) {\n          // eslint-disable-next-line no-continue\n          continue;\n        }\n\n        if (prefix) {\n          result[`${prefix}[${key}]`] = value;\n        } else {\n          result[key] = value;\n        }\n      }\n    }\n\n    return { ...memo, ...result };\n  }, {});\n}\n\n/**\n * Extracts filter name from url name and operator, e.g.\n *  e.g. input: not[my_filter]` output: {filterName: `my_filter`, operator: '!='}`\n *\n * By default it supports filter with the format `my_filter=foo` and `not[my_filter]=bar`. This can be extended with the `customOperators` option.\n * @param  {String} filterName from url\n * @param {Object.customOperators} It allows to extend the supported parameter, e.g.\n *  input: 'gt[filter]', { customOperators: [{ operator: '>', prefix: 'gt' }]})\n *  output: '{filterName: 'filter', operator: '>'}\n * @return {Object}\n * @return {Object.filterName} extracted filter name\n * @return {Object.operator} `=` or `!=`\n */\nfunction extractNameAndOperator(filterName, customOperators) {\n  const ops = [\n    {\n      prefix: 'not',\n      operator: '!=',\n    },\n    ...(customOperators ?? []),\n  ];\n\n  const operator = ops.find(\n    ({ prefix }) => filterName.startsWith(`${prefix}[`) && filterName.endsWith(']'),\n  );\n\n  if (!operator) {\n    return { filterName, operator: '=' };\n  }\n  const { prefix } = operator;\n  return { filterName: filterName.slice(prefix.length + 1, -1), operator: operator.operator };\n}\n\n/**\n * Gathers search term as values\n * @param {String|Array} value\n * @returns {Array} List of search terms split by word\n */\nfunction filteredSearchTermValue(value) {\n  const values = Array.isArray(value) ? value : [value];\n  return [{ value: values.filter((term) => term).join(' ') }];\n}\n\n/**\n * This function takes a URL query string and maps it into a filter object. Example query string:\n * '?myFilterName=foo'\n * gets translated into:\n * { myFilterName: { value: 'foo', operator: '=' } }\n * By default it only support '=' and '!=' operators. This can be extended with the customOperator option.\n * @param  {String|Object} query URL query string or object, e.g. from `window.location.search` or `this.$route.query`\n * @param  {Object} options\n * @param  {String} [options.filteredSearchTermKey] if set, a FILTERED_SEARCH_TERM filter is created to this parameter. `'search'` is suggested\n * @param  {String[]} [options.filterNamesAllowList] if set, only this list of filters names is mapped\n * @param  {Object} [options.customOperator] It allows to extend the supported parameter, e.g.\n *  input: 'gt[myFilter]=100', { customOperators: [{ operator: '>', prefix: 'gt' }]})\n *  output: '{ myFilter: {value: '100', operator: '>'}}\n * @return {Object} filter object with filter names and their values\n */\nexport function urlQueryToFilter(\n  query = '',\n  { filteredSearchTermKey, filterNamesAllowList, customOperators } = {},\n) {\n  const filters = isString(query) ? queryToObject(query, { gatherArrays: true }) : query;\n  return Object.keys(filters).reduce((memo, key) => {\n    const value = filters[key];\n    if (!value) {\n      return memo;\n    }\n    if (key === filteredSearchTermKey) {\n      return {\n        ...memo,\n        [FILTERED_SEARCH_TERM]: filteredSearchTermValue(value),\n      };\n    }\n\n    const { filterName, operator } = extractNameAndOperator(key, customOperators);\n    if (filterNamesAllowList && !filterNamesAllowList.includes(filterName)) {\n      return memo;\n    }\n    let previousValues = [];\n    if (Array.isArray(memo[filterName])) {\n      previousValues = memo[filterName];\n    }\n    if (Array.isArray(value)) {\n      const newAdditions = value.filter(Boolean).map((item) => ({ value: item, operator }));\n      return { ...memo, [filterName]: [...previousValues, ...newAdditions] };\n    }\n\n    return { ...memo, [filterName]: { value, operator } };\n  }, {});\n}\n\n/**\n * Returns array of token values from localStorage\n * based on provided recentSuggestionsStorageKey\n *\n * @param {String} recentSuggestionsStorageKey\n * @param {Array} appliedTokens\n * @param {Function} valueIdentifier\n * @returns\n */\nexport function getRecentlyUsedSuggestions(\n  recentSuggestionsStorageKey,\n  appliedTokens,\n  valueIdentifier,\n) {\n  let recentlyUsedSuggestions = [];\n  if (AccessorUtilities.canUseLocalStorage()) {\n    recentlyUsedSuggestions = JSON.parse(localStorage.getItem(recentSuggestionsStorageKey)) || [];\n  }\n  return recentlyUsedSuggestions.filter((suggestion) => {\n    return !appliedTokens?.some(\n      (appliedToken) => appliedToken.value.data === valueIdentifier(suggestion),\n    );\n  });\n}\n\n/**\n * Sets provided token value to recently used array\n * within localStorage for provided recentSuggestionsStorageKey\n *\n * @param {String} recentSuggestionsStorageKey\n * @param {Object} tokenValue\n */\nexport function setTokenValueToRecentlyUsed(recentSuggestionsStorageKey, tokenValue) {\n  const recentlyUsedSuggestions = getRecentlyUsedSuggestions(recentSuggestionsStorageKey);\n\n  recentlyUsedSuggestions.splice(0, 0, { ...tokenValue });\n\n  if (AccessorUtilities.canUseLocalStorage()) {\n    localStorage.setItem(\n      recentSuggestionsStorageKey,\n      JSON.stringify(uniqWith(recentlyUsedSuggestions, isEqual).slice(0, MAX_RECENT_TOKENS_SIZE)),\n    );\n  }\n}\n\n/**\n * Removes `FILTERED_SEARCH_TERM` tokens with empty data\n *\n * @param filterTokens array of filtered search tokens\n * @return {Array} array of filtered search tokens\n */\nexport const filterEmptySearchTerm = (filterTokens = []) =>\n  filterTokens.filter((token) => token.type === FILTERED_SEARCH_TERM && token.value.data);\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('issue-card-time-info',{attrs:{\"issue\":_vm.issue}},[(_vm.showWeight)?_c('work-item-attribute',{attrs:{\"anchor-id\":\"issuable-weight-content\",\"title\":`${_vm.weight}`,\"title-component-class\":\"issuable-weight gl-mr-3\",\"tooltip-text\":_vm.__('Weight'),\"tooltip-placement\":\"top\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('gl-icon',{attrs:{\"name\":\"weight\",\"size\":12}})]},proxy:true}],null,false,3426229333)}):_vm._e(),_vm._v(\" \"),(_vm.showHealthStatus)?_c('issue-health-status',{attrs:{\"health-status\":_vm.healthStatus}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_time_info.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_time_info.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon } from '@gitlab/ui';\nimport { STATUS_CLOSED } from '~/issues/constants';\nimport { humanTimeframe, isInPast, localeDateFormat, newDate } from '~/lib/utils/datetime_utility';\nimport { __ } from '~/locale';\nimport { STATE_CLOSED } from '~/work_items/constants';\nimport { isMilestoneWidget, isStartAndDueDateWidget } from '~/work_items/utils';\nimport IssuableMilestone from '~/vue_shared/issuable/list/components/issuable_milestone.vue';\nimport WorkItemAttribute from '~/vue_shared/components/work_item_attribute.vue';\n\nexport default {\n  components: {\n    IssuableMilestone,\n    WorkItemAttribute,\n    GlIcon,\n  },\n  props: {\n    issue: {\n      type: Object,\n      required: true,\n    },\n    isWorkItemList: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    milestone() {\n      return this.issue.milestone || this.issue.widgets?.find(isMilestoneWidget)?.milestone;\n    },\n    dueDate() {\n      return this.issue.dueDate || this.issue.widgets?.find(isStartAndDueDateWidget)?.dueDate;\n    },\n    dueDateText() {\n      if (this.startDate) {\n        return humanTimeframe(newDate(this.startDate), newDate(this.dueDate));\n      }\n      if (this.dueDate) {\n        return localeDateFormat.asDate.format(newDate(this.dueDate));\n      }\n      return null;\n    },\n    isClosed() {\n      return this.issue.state === STATUS_CLOSED || this.issue.state === STATE_CLOSED;\n    },\n    isOverdue() {\n      if (!this.dueDate) {\n        return false;\n      }\n      return isInPast(newDate(this.dueDate)) && !this.isClosed;\n    },\n    dueDateTitle() {\n      return this.isOverdue ? `${__('Due date')} (${__('overdue')})` : __('Due date');\n    },\n    dateIcon() {\n      return this.isOverdue ? 'calendar-overdue' : 'calendar';\n    },\n    startDate() {\n      return this.issue.widgets?.find(isStartAndDueDateWidget)?.startDate;\n    },\n    timeEstimate() {\n      return this.issue.humanTimeEstimate || this.issue.timeStats?.humanTimeEstimate;\n    },\n  },\n};\n</script>\n\n<template>\n  <span>\n    <issuable-milestone v-if=\"milestone\" :milestone=\"milestone\" />\n    <work-item-attribute\n      v-if=\"dueDateText\"\n      anchor-id=\"issuable-due-date\"\n      :title=\"dueDateText\"\n      title-component-class=\"issuable-due-date gl-mr-3\"\n      :tooltip-text=\"dueDateTitle\"\n      tooltip-placement=\"top\"\n    >\n      <template #icon>\n        <gl-icon :variant=\"isOverdue ? 'danger' : 'current'\" :name=\"dateIcon\" :size=\"12\" />\n      </template>\n    </work-item-attribute>\n    <work-item-attribute\n      v-if=\"timeEstimate\"\n      anchor-id=\"time-estimate\"\n      :title=\"timeEstimate\"\n      title-component-class=\"gl-mr-3\"\n      :tooltip-text=\"__('Estimate')\"\n      tooltip-placement=\"top\"\n    >\n      <template #icon>\n        <gl-icon name=\"timer\" :size=\"12\" />\n      </template>\n    </work-item-attribute>\n    <slot></slot>\n  </span>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_time_info.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_time_info.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon } from '@gitlab/ui';\nimport IssueCardTimeInfo from '~/issues/list/components/issue_card_time_info.vue';\nimport IssueHealthStatus from 'ee/related_items_tree/components/issue_health_status.vue';\nimport { isHealthStatusWidget, isWeightWidget } from '~/work_items/utils';\nimport WorkItemAttribute from '~/vue_shared/components/work_item_attribute.vue';\n\nexport default {\n  components: {\n    IssueCardTimeInfo,\n    IssueHealthStatus,\n    WorkItemAttribute,\n    GlIcon,\n  },\n  inject: ['hasIssuableHealthStatusFeature', 'hasIssueWeightsFeature'],\n  props: {\n    issue: {\n      type: Object,\n      required: true,\n    },\n    isWorkItemList: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    healthStatus() {\n      return (\n        this.issue.healthStatus || this.issue.widgets?.find(isHealthStatusWidget)?.healthStatus\n      );\n    },\n    showHealthStatus() {\n      return this.hasIssuableHealthStatusFeature && this.healthStatus && !this.isWorkItemList;\n    },\n    weight() {\n      return this.issue.weight || this.issue.widgets?.find(isWeightWidget)?.weight;\n    },\n    showWeight() {\n      return this.hasIssueWeightsFeature && this.weight != null;\n    },\n  },\n};\n</script>\n\n<template>\n  <issue-card-time-info :issue=\"issue\">\n    <work-item-attribute\n      v-if=\"showWeight\"\n      anchor-id=\"issuable-weight-content\"\n      :title=\"`${weight}`\"\n      title-component-class=\"issuable-weight gl-mr-3\"\n      :tooltip-text=\"__('Weight')\"\n      tooltip-placement=\"top\"\n    >\n      <template #icon>\n        <gl-icon name=\"weight\" :size=\"12\" />\n      </template>\n    </work-item-attribute>\n    <issue-health-status v-if=\"showHealthStatus\" :health-status=\"healthStatus\" />\n  </issue-card-time-info>\n</template>\n","import { render, staticRenderFns } from \"./issue_card_time_info.vue?vue&type=template&id=59247cc5\"\nimport script from \"./issue_card_time_info.vue?vue&type=script&lang=js\"\nexport * from \"./issue_card_time_info.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 render(){var _vm=this,_c=_vm._self._c;return _c('span',[(_vm.milestone)?_c('issuable-milestone',{attrs:{\"milestone\":_vm.milestone}}):_vm._e(),_vm._v(\" \"),(_vm.dueDateText)?_c('work-item-attribute',{attrs:{\"anchor-id\":\"issuable-due-date\",\"title\":_vm.dueDateText,\"title-component-class\":\"issuable-due-date gl-mr-3\",\"tooltip-text\":_vm.dueDateTitle,\"tooltip-placement\":\"top\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('gl-icon',{attrs:{\"variant\":_vm.isOverdue ? 'danger' : 'current',\"name\":_vm.dateIcon,\"size\":12}})]},proxy:true}],null,false,4212441276)}):_vm._e(),_vm._v(\" \"),(_vm.timeEstimate)?_c('work-item-attribute',{attrs:{\"anchor-id\":\"time-estimate\",\"title\":_vm.timeEstimate,\"title-component-class\":\"gl-mr-3\",\"tooltip-text\":_vm.__('Estimate'),\"tooltip-placement\":\"top\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('gl-icon',{attrs:{\"name\":\"timer\",\"size\":12}})]},proxy:true}],null,false,3630396722)}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./issue_card_time_info.vue?vue&type=template&id=5b3861f5\"\nimport script from \"./issue_card_time_info.vue?vue&type=script&lang=js\"\nexport * from \"./issue_card_time_info.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 { uniqWith, isEqual } from 'lodash';\n\nimport { MAX_HISTORY_SIZE } from '../constants';\n\nclass RecentSearchesStore {\n  constructor(initialState = {}, allowedKeys) {\n    this.state = {\n      isLocalStorageAvailable: true,\n      recentSearches: [],\n      allowedKeys,\n      ...initialState,\n    };\n  }\n\n  addRecentSearch(newSearch) {\n    this.setRecentSearches([newSearch].concat(this.state.recentSearches));\n\n    return this.state.recentSearches;\n  }\n\n  setRecentSearches(searches = []) {\n    const trimmedSearches = searches.map((search) =>\n      typeof search === 'string' ? search.trim() : search,\n    );\n\n    // Do object equality check to remove duplicates.\n    this.state.recentSearches = uniqWith(trimmedSearches, isEqual).slice(0, MAX_HISTORY_SIZE);\n    return this.state.recentSearches;\n  }\n}\n\nexport default RecentSearchesStore;\n","export default __webpack_public_path__ + \"empty-search-md.2566c760.svg\";","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteWorkItem\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemDeleteInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemDelete\"},\"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\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":107}};\n    doc.loc.source = {\"body\":\"mutation deleteWorkItem($input: WorkItemDeleteInput!) {\\n  workItemDelete(input: $input) {\\n    errors\\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[\"deleteWorkItem\"] = oneQuery(doc, \"deleteWorkItem\");\n        \n","export const DRAG_CLASS = 'is-dragging';\nexport const DRAG_DELAY = 100;\n\n/**\n * Default config options for sortablejs.\n * @type {object}\n *\n * @example\n * import Sortable from 'sortablejs';\n *\n * const sortable = Sortable.create(el, {\n *   ...defaultSortableOptions,\n * });\n */\nexport const defaultSortableOptions = {\n  animation: 200,\n  forceFallback: true,\n  fallbackClass: DRAG_CLASS,\n  fallbackOnBody: true,\n  ghostClass: 'is-ghost',\n  fallbackTolerance: 1,\n};\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"searchLabels\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isProject\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isProject\"}}}]},{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"persist\"},\"arguments\":[]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"searchTerm\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAncestorGroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDescendantGroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__persist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__persist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isProject\"}}}]},{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"persist\"},\"arguments\":[]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"searchTerm\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAncestorGroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__persist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__persist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":587}};\n    doc.loc.source = {\"body\":\"#import \\\"./label.fragment.graphql\\\"\\n\\nquery searchLabels($fullPath: ID!, $search: String, $isProject: Boolean = false) {\\n  group(fullPath: $fullPath) @skip(if: $isProject) @persist {\\n    id\\n    labels(searchTerm: $search, includeAncestorGroups: true, includeDescendantGroups: true) {\\n      __persist\\n      nodes {\\n        __persist\\n        ...Label\\n      }\\n    }\\n  }\\n  project(fullPath: $fullPath) @include(if: $isProject) @persist {\\n    id\\n    labels(searchTerm: $search, includeAncestorGroups: true) {\\n      __persist\\n      nodes {\\n        __persist\\n        ...Label\\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(\"./label.fragment.graphql\").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[\"searchLabels\"] = oneQuery(doc, \"searchLabels\");\n        \n","import recentSearchesStorageKeysCE from '~/filtered_search/recent_searches_storage_keys';\n\nexport default {\n  ...recentSearchesStorageKeysCE,\n  epics: 'epics-recent-searches',\n  requirements: 'requirements-recent-searches',\n  test_cases: 'test-cases-recent-searches',\n  jira_issues: 'jira-issues-recent-searches',\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"gl-contents\"},[(_vm.showExportButton)?_c('gl-disclosure-dropdown-item',{directives:[{name:\"gl-modal\",rawName:\"v-gl-modal\",value:(_vm.exportModalId),expression:\"exportModalId\"}],attrs:{\"data-testid\":\"export-as-csv-button\",\"item\":_vm.dropdownItems.exportAsCSV}}):_vm._e(),_vm._v(\" \"),(_vm.showImportButton)?_c('gl-disclosure-dropdown-item',{directives:[{name:\"gl-modal\",rawName:\"v-gl-modal\",value:(_vm.importModalId),expression:\"importModalId\"}],attrs:{\"data-testid\":\"import-from-csv-button\",\"item\":_vm.dropdownItems.importCSV}}):_vm._e(),_vm._v(\" \"),(_vm.showImportButton && _vm.canEdit)?_c('gl-disclosure-dropdown-item',{attrs:{\"data-testid\":\"import-from-jira-link\",\"item\":_vm.dropdownItems.importFromJIRA}}):_vm._e(),_vm._v(\" \"),(_vm.showExportButton)?_c('csv-export-modal',{attrs:{\"modal-id\":_vm.exportModalId,\"export-csv-path\":_vm.exportCsvPath,\"issuable-count\":_vm.issuableCount}}):_vm._e(),_vm._v(\" \"),(_vm.showImportButton)?_c('csv-import-modal',{attrs:{\"modal-id\":_vm.importModalId}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./csv_export_modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./csv_export_modal.vue?vue&type=script&lang=js\"","<script>\nimport { GlModal, GlSprintf, GlIcon } from '@gitlab/ui';\nimport { TYPE_ISSUE } from '~/issues/constants';\nimport { __, n__ } from '~/locale';\n\nexport default {\n  actionCancel: {\n    text: __('Cancel'),\n  },\n  i18n: {\n    exportText: __(\n      'The CSV export will be created in the background. Once finished, it will be sent to %{email} in an attachment.',\n    ),\n  },\n  components: {\n    GlModal,\n    GlSprintf,\n    GlIcon,\n  },\n  inject: {\n    issuableType: {\n      default: TYPE_ISSUE,\n    },\n    email: {\n      default: '',\n    },\n  },\n  props: {\n    exportCsvPath: {\n      type: String,\n      required: true,\n    },\n    issuableCount: {\n      type: Number,\n      required: true,\n    },\n    modalId: {\n      type: String,\n      required: true,\n    },\n  },\n  computed: {\n    actionPrimary() {\n      return {\n        text: this.exportText,\n        attributes: {\n          href: this.exportCsvPath,\n          variant: 'confirm',\n          'data-method': 'post',\n          'data-testid': 'export-issues-button',\n          'data-track-action': 'click_button',\n          'data-track-label': this.dataTrackLabel,\n        },\n      };\n    },\n    isIssue() {\n      return this.issuableType === TYPE_ISSUE;\n    },\n    dataTrackLabel() {\n      return this.isIssue ? 'export_issues_csv' : 'export_merge-requests_csv';\n    },\n    exportText() {\n      return this.isIssue ? __('Export issues') : __('Export merge requests');\n    },\n    issuableCountText() {\n      return this.isIssue\n        ? n__('1 issue selected', '%d issues selected', this.issuableCount)\n        : n__('1 merge request selected', '%d merge requests selected', this.issuableCount);\n    },\n  },\n};\n</script>\n\n<template>\n  <gl-modal\n    :modal-id=\"modalId\"\n    :action-primary=\"actionPrimary\"\n    :action-cancel=\"$options.actionCancel\"\n    body-class=\"!gl-p-0\"\n    :title=\"exportText\"\n    data-testid=\"export-issuable-modal\"\n  >\n    <div\n      class=\"gl-items-center gl-justify-start gl-border-1 gl-border-subtle gl-p-4 gl-border-b-solid\"\n    >\n      <gl-icon name=\"check\" class=\"gl-color-green-400\" />\n      <strong class=\"gl-m-3\">{{ issuableCountText }}</strong>\n    </div>\n    <div class=\"modal-text gl-px-4 gl-py-5\">\n      <gl-sprintf :message=\"$options.i18n.exportText\">\n        <template #email>\n          <strong>{{ email }}</strong>\n        </template>\n      </gl-sprintf>\n    </div>\n  </gl-modal>\n</template>\n","import { render, staticRenderFns } from \"./csv_export_modal.vue?vue&type=template&id=2ea547ee\"\nimport script from \"./csv_export_modal.vue?vue&type=script&lang=js\"\nexport * from \"./csv_export_modal.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 render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',{attrs:{\"modal-id\":_vm.modalId,\"action-primary\":_vm.actionPrimary,\"action-cancel\":_vm.$options.actionCancel,\"body-class\":\"!gl-p-0\",\"title\":_vm.exportText,\"data-testid\":\"export-issuable-modal\"}},[_c('div',{staticClass:\"gl-items-center gl-justify-start gl-border-1 gl-border-subtle gl-p-4 gl-border-b-solid\"},[_c('gl-icon',{staticClass:\"gl-color-green-400\",attrs:{\"name\":\"check\"}}),_vm._v(\" \"),_c('strong',{staticClass:\"gl-m-3\"},[_vm._v(_vm._s(_vm.issuableCountText))])],1),_vm._v(\" \"),_c('div',{staticClass:\"modal-text gl-px-4 gl-py-5\"},[_c('gl-sprintf',{attrs:{\"message\":_vm.$options.i18n.exportText},scopedSlots:_vm._u([{key:\"email\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.email))])]},proxy:true}])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./csv_import_modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./csv_import_modal.vue?vue&type=script&lang=js\"","<script>\nimport { GlModal, GlFormGroup } from '@gitlab/ui';\nimport csrf from '~/lib/utils/csrf';\nimport { __, sprintf } from '~/locale';\n\nexport default {\n  i18n: {\n    maximumFileSizeText: __('The maximum file size allowed is %{size}.'),\n    importIssuesText: __('Import issues'),\n    uploadCsvFileText: __('Upload CSV file'),\n    mainText: __(\n      \"Your issues will be imported in the background. Once finished, you'll get a confirmation email.\",\n    ),\n    helpText: __(\n      'It must have a header row and at least two columns: the first column is the issue title and the second column is the issue description. The separator is automatically detected.',\n    ),\n  },\n  actionPrimary: {\n    text: __('Import issues'),\n  },\n  actionCancel: {\n    text: __('Cancel'),\n  },\n  components: {\n    GlModal,\n    GlFormGroup,\n  },\n  inject: {\n    importCsvIssuesPath: {\n      default: '',\n    },\n    maxAttachmentSize: {\n      default: 0,\n    },\n  },\n  props: {\n    modalId: {\n      type: String,\n      required: true,\n    },\n  },\n  computed: {\n    maxFileSizeText() {\n      return sprintf(this.$options.i18n.maximumFileSizeText, { size: this.maxAttachmentSize });\n    },\n  },\n  methods: {\n    submitForm() {\n      this.$refs.form.submit();\n    },\n  },\n  csrf,\n};\n</script>\n\n<template>\n  <gl-modal\n    :modal-id=\"modalId\"\n    :title=\"$options.i18n.importIssuesText\"\n    :action-primary=\"$options.actionPrimary\"\n    :action-cancel=\"$options.actionCancel\"\n    @primary=\"submitForm\"\n  >\n    <form ref=\"form\" :action=\"importCsvIssuesPath\" enctype=\"multipart/form-data\" method=\"post\">\n      <input :value=\"$options.csrf.token\" type=\"hidden\" name=\"authenticity_token\" />\n      <p>{{ $options.i18n.mainText }}</p>\n      <gl-form-group :label=\"$options.i18n.uploadCsvFileText\" class=\"gl-truncate\" label-for=\"file\">\n        <input id=\"file\" type=\"file\" name=\"file\" accept=\".csv,text/csv\" />\n      </gl-form-group>\n      <p class=\"gl-text-subtle\">\n        {{ $options.i18n.helpText }}\n        {{ maxFileSizeText }}\n      </p>\n    </form>\n  </gl-modal>\n</template>\n","import { render, staticRenderFns } from \"./csv_import_modal.vue?vue&type=template&id=4596ece7\"\nimport script from \"./csv_import_modal.vue?vue&type=script&lang=js\"\nexport * from \"./csv_import_modal.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 render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',{attrs:{\"modal-id\":_vm.modalId,\"title\":_vm.$options.i18n.importIssuesText,\"action-primary\":_vm.$options.actionPrimary,\"action-cancel\":_vm.$options.actionCancel},on:{\"primary\":_vm.submitForm}},[_c('form',{ref:\"form\",attrs:{\"action\":_vm.importCsvIssuesPath,\"enctype\":\"multipart/form-data\",\"method\":\"post\"}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"authenticity_token\"},domProps:{\"value\":_vm.$options.csrf.token}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$options.i18n.mainText))]),_vm._v(\" \"),_c('gl-form-group',{staticClass:\"gl-truncate\",attrs:{\"label\":_vm.$options.i18n.uploadCsvFileText,\"label-for\":\"file\"}},[_c('input',{attrs:{\"id\":\"file\",\"type\":\"file\",\"name\":\"file\",\"accept\":\".csv,text/csv\"}})]),_vm._v(\" \"),_c('p',{staticClass:\"gl-text-subtle\"},[_vm._v(\"\\n      \"+_vm._s(_vm.$options.i18n.helpText)+\"\\n      \"+_vm._s(_vm.maxFileSizeText)+\"\\n    \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./csv_import_export_buttons.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./csv_import_export_buttons.vue?vue&type=script&lang=js\"","<script>\nimport { GlDisclosureDropdownItem, GlModalDirective } from '@gitlab/ui';\nimport { TYPE_ISSUE } from '~/issues/constants';\nimport { __ } from '~/locale';\nimport CsvExportModal from './csv_export_modal.vue';\nimport CsvImportModal from './csv_import_modal.vue';\n\nexport default {\n  components: {\n    GlDisclosureDropdownItem,\n    CsvExportModal,\n    CsvImportModal,\n  },\n  directives: {\n    GlModal: GlModalDirective,\n  },\n  inject: {\n    issuableType: {\n      default: TYPE_ISSUE,\n    },\n    showExportButton: {\n      default: false,\n    },\n    showImportButton: {\n      default: false,\n    },\n    canEdit: {\n      default: false,\n    },\n    projectImportJiraPath: {\n      default: null,\n    },\n  },\n  props: {\n    exportCsvPath: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    issuableCount: {\n      type: Number,\n      required: false,\n      default: undefined,\n    },\n    trackImportClick: {\n      type: Boolean,\n      required: false,\n      default: null,\n    },\n  },\n  data() {\n    return {\n      dropdownItems: {\n        exportAsCSV: {\n          text: __('Export as CSV'),\n        },\n        importCSV: {\n          text: __('Import CSV'),\n        },\n        importFromJIRA: {\n          text: __('Import from Jira'),\n          href: this.projectImportJiraPath,\n        },\n      },\n    };\n  },\n  computed: {\n    exportModalId() {\n      return `${this.issuableType}-export-modal`;\n    },\n    importModalId() {\n      return `${this.issuableType}-import-modal`;\n    },\n  },\n};\n</script>\n\n<template>\n  <ul class=\"gl-contents\">\n    <gl-disclosure-dropdown-item\n      v-if=\"showExportButton\"\n      v-gl-modal=\"exportModalId\"\n      data-testid=\"export-as-csv-button\"\n      :item=\"dropdownItems.exportAsCSV\"\n    />\n    <gl-disclosure-dropdown-item\n      v-if=\"showImportButton\"\n      v-gl-modal=\"importModalId\"\n      data-testid=\"import-from-csv-button\"\n      :item=\"dropdownItems.importCSV\"\n    />\n    <gl-disclosure-dropdown-item\n      v-if=\"showImportButton && canEdit\"\n      data-testid=\"import-from-jira-link\"\n      :item=\"dropdownItems.importFromJIRA\"\n    />\n\n    <csv-export-modal\n      v-if=\"showExportButton\"\n      :modal-id=\"exportModalId\"\n      :export-csv-path=\"exportCsvPath\"\n      :issuable-count=\"issuableCount\"\n    />\n    <csv-import-modal v-if=\"showImportButton\" :modal-id=\"importModalId\" />\n  </ul>\n</template>\n","import { render, staticRenderFns } from \"./csv_import_export_buttons.vue?vue&type=template&id=124754d4\"\nimport script from \"./csv_import_export_buttons.vue?vue&type=script&lang=js\"\nexport * from \"./csv_import_export_buttons.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 render(){var _vm=this,_c=_vm._self._c;return _c('gl-avatar-link',{staticClass:\"user-avatar-link js-user-link\",attrs:{\"href\":_vm.linkHref,\"data-user-id\":_vm.userId,\"data-username\":_vm.popoverUsername},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-avatar-image',{class:_vm.imgCssWrapperClasses,attrs:{\"img-src\":_vm.imgSrc,\"img-alt\":_vm.imgAlt,\"css-classes\":_vm.imgCssClasses,\"size\":_vm.imgSize,\"tooltip-text\":_vm.avatarTooltipText,\"tooltip-placement\":_vm.tooltipPlacement,\"lazy\":_vm.lazy}},[_vm._t(\"default\")],2),_vm._v(\" \"),(_vm.shouldShowUsername)?_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-ml-1\",attrs:{\"title\":_vm.tooltipText,\"tooltip-placement\":_vm.tooltipPlacement,\"data-testid\":\"user-avatar-link-username\"}},[_vm._v(\"\\n    \"+_vm._s(_vm.username)+\"\\n  \")]):_vm._e(),_vm._v(\" \"),_vm._t(\"avatar-badge\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_link.vue?vue&type=script&lang=js\"","<script>\n/* This is a re-usable vue component for rendering a user avatar wrapped in\n  a clickable link (likely to the user's profile). The link, image, and\n  tooltip can be configured by props passed to this component.\n\n  Sample configuration:\n\n  <user-avatar-link\n    :link-href=\"userProfileUrl\"\n    :img-src=\"userAvatarSrc\"\n    :img-alt=\"tooltipText\"\n    :img-size=\"32\"\n    :tooltip-text=\"tooltipText\"\n    :tooltip-placement=\"top\"\n    :username=\"username\"\n  />\n\n*/\n\nimport { GlAvatarLink, GlTooltipDirective } from '@gitlab/ui';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport UserAvatarImage from './user_avatar_image.vue';\n\nexport default {\n  name: 'UserAvatarLinkNew',\n  components: {\n    UserAvatarImage,\n    GlAvatarLink,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    lazy: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    linkHref: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    imgSrc: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    imgAlt: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    imgCssClasses: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    imgCssWrapperClasses: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    imgSize: {\n      type: [Number, Object],\n      required: true,\n    },\n    tooltipText: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    tooltipPlacement: {\n      type: String,\n      required: false,\n      default: 'top',\n    },\n    popoverUserId: {\n      type: [String, Number],\n      required: false,\n      default: '',\n    },\n    popoverUsername: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    username: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  computed: {\n    userId() {\n      return getIdFromGraphQLId(this.popoverUserId);\n    },\n    shouldShowUsername() {\n      return this.username.length > 0;\n    },\n    avatarTooltipText() {\n      // Prevent showing tooltip when popoverUserId is present\n      if (this.popoverUserId) {\n        return '';\n      }\n      return this.shouldShowUsername ? '' : this.tooltipText;\n    },\n  },\n};\n</script>\n\n<template>\n  <gl-avatar-link\n    :href=\"linkHref\"\n    :data-user-id=\"userId\"\n    :data-username=\"popoverUsername\"\n    class=\"user-avatar-link js-user-link\"\n    @click.stop\n  >\n    <user-avatar-image\n      :class=\"imgCssWrapperClasses\"\n      :img-src=\"imgSrc\"\n      :img-alt=\"imgAlt\"\n      :css-classes=\"imgCssClasses\"\n      :size=\"imgSize\"\n      :tooltip-text=\"avatarTooltipText\"\n      :tooltip-placement=\"tooltipPlacement\"\n      :lazy=\"lazy\"\n    >\n      <slot></slot>\n    </user-avatar-image>\n\n    <span\n      v-if=\"shouldShowUsername\"\n      v-gl-tooltip\n      :title=\"tooltipText\"\n      :tooltip-placement=\"tooltipPlacement\"\n      class=\"gl-ml-1\"\n      data-testid=\"user-avatar-link-username\"\n    >\n      {{ username }}\n    </span>\n\n    <slot name=\"avatar-badge\"></slot>\n  </gl-avatar-link>\n</template>\n","import { render, staticRenderFns } from \"./user_avatar_link.vue?vue&type=template&id=0c9f1264\"\nimport script from \"./user_avatar_link.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_link.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\":\"searchUserProjectsWithIssuesEnabled\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"membership\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"withIssuesEnabled\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"latest_activity_desc\",\"block\":false}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"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\":\"nameWithNamespace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":262}};\n    doc.loc.source = {\"body\":\"query searchUserProjectsWithIssuesEnabled($search: String) {\\n  projects(\\n    search: $search\\n    membership: true\\n    withIssuesEnabled: true\\n    sort: \\\"latest_activity_desc\\\"\\n  ) {\\n    nodes {\\n      id\\n      name\\n      nameWithNamespace\\n      webUrl\\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[\"searchUserProjectsWithIssuesEnabled\"] = oneQuery(doc, \"searchUserProjectsWithIssuesEnabled\");\n        \n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasSearch)?_c('gl-empty-state',{attrs:{\"description\":_vm.__('To widen your search, change or remove filters above'),\"title\":_vm.__('Sorry, your filter produced no results'),\"svg-path\":_vm.svgPath,\"data-testid\":\"issuable-empty-state\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"new-issue-button\",function(){return [(_vm.showNewIssueLink)?_c('gl-button',{attrs:{\"href\":_vm.newIssuePath,\"variant\":\"confirm\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.__('New issue'))+\"\\n      \")]):_vm._e()]})]},proxy:true}],null,true)}):(_vm.isOpenTab)?_c('gl-empty-state',{attrs:{\"title\":_vm.openTabTitle,\"svg-path\":_vm.svgPath,\"data-testid\":\"issuable-empty-state\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"new-issue-button\",function(){return [(_vm.showNewIssueLink)?_c('gl-button',{attrs:{\"href\":_vm.newIssuePath,\"variant\":\"confirm\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.__('New issue'))+\"\\n      \")]):_vm._e()]})]},proxy:true}],null,true)}):_c('gl-empty-state',{attrs:{\"title\":_vm.closedTabTitle,\"svg-path\":_vm.svgPath,\"data-testid\":\"issuable-empty-state\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default __webpack_public_path__ + \"empty-issues-md.3e7bf411.svg\";","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state_with_any_issues.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state_with_any_issues.vue?vue&type=script&lang=js\"","<script>\nimport epicEmptyStateSvg from '@gitlab/svgs/dist/illustrations/empty-state/empty-epic-md.svg';\nimport issuesEmptyStateSvg from '@gitlab/svgs/dist/illustrations/empty-state/empty-issues-md.svg';\nimport { GlButton, GlEmptyState } from '@gitlab/ui';\nimport { __ } from '~/locale';\n\nexport default {\n  components: {\n    GlButton,\n    GlEmptyState,\n  },\n  inject: {\n    newIssuePath: {\n      default: false,\n    },\n    showNewIssueLink: {\n      default: false,\n    },\n  },\n  props: {\n    hasSearch: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    isEpic: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    isOpenTab: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n  },\n  computed: {\n    closedTabTitle() {\n      return this.isEpic ? __('There are no closed epics') : __('There are no closed issues');\n    },\n    openTabTitle() {\n      return this.isEpic ? __('There are no open epics') : __('There are no open issues');\n    },\n    svgPath() {\n      return this.isEpic ? epicEmptyStateSvg : issuesEmptyStateSvg;\n    },\n  },\n};\n</script>\n\n<template>\n  <gl-empty-state\n    v-if=\"hasSearch\"\n    :description=\"__('To widen your search, change or remove filters above')\"\n    :title=\"__('Sorry, your filter produced no results')\"\n    :svg-path=\"svgPath\"\n    data-testid=\"issuable-empty-state\"\n  >\n    <template #actions>\n      <slot name=\"new-issue-button\">\n        <gl-button v-if=\"showNewIssueLink\" :href=\"newIssuePath\" variant=\"confirm\">\n          {{ __('New issue') }}\n        </gl-button>\n      </slot>\n    </template>\n  </gl-empty-state>\n\n  <gl-empty-state\n    v-else-if=\"isOpenTab\"\n    :title=\"openTabTitle\"\n    :svg-path=\"svgPath\"\n    data-testid=\"issuable-empty-state\"\n  >\n    <template #actions>\n      <slot name=\"new-issue-button\">\n        <gl-button v-if=\"showNewIssueLink\" :href=\"newIssuePath\" variant=\"confirm\">\n          {{ __('New issue') }}\n        </gl-button>\n      </slot>\n    </template>\n  </gl-empty-state>\n\n  <gl-empty-state\n    v-else\n    :title=\"closedTabTitle\"\n    :svg-path=\"svgPath\"\n    data-testid=\"issuable-empty-state\"\n  />\n</template>\n","import { render, staticRenderFns } from \"./empty_state_with_any_issues.vue?vue&type=template&id=43e77e56\"\nimport script from \"./empty_state_with_any_issues.vue?vue&type=script&lang=js\"\nexport * from \"./empty_state_with_any_issues.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\":\"Label\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"textColor\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":61}};\n    doc.loc.source = {\"body\":\"fragment Label on Label {\\n  id\\n  color\\n  textColor\\n  title\\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[\"Label\"] = oneQuery(doc, \"Label\");\n        \n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"searchProjects\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projects\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"withIssuesEnabled\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SIMILARITY\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"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\":\"nameWithNamespace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":292}};\n    doc.loc.source = {\"body\":\"query searchProjects($fullPath: ID!, $search: String) {\\n  group(fullPath: $fullPath) {\\n    id\\n    projects(search: $search, withIssuesEnabled: true, includeSubgroups: true, sort: SIMILARITY) {\\n      nodes {\\n        id\\n        name\\n        nameWithNamespace\\n        webUrl\\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[\"searchProjects\"] = oneQuery(doc, \"searchProjects\");\n        \n","import { tokenVariants } from '../../../utils/constants';\nimport { translate } from '../../../utils/i18n';\nimport CloseButton from '../../shared_components/close_button/close_button';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n  name: 'GlToken',\n  components: {\n    CloseButton\n  },\n  props: {\n    viewOnly: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    /**\n     * Token visual variants: default, search-type, and search-value.\n     */\n    variant: {\n      type: String,\n      required: false,\n      default: 'default',\n      validator: variant => tokenVariants.includes(variant)\n    },\n    /**\n     * The close button's label, it is used for the button's aria-label attribute.\n     */\n    removeLabel: {\n      type: String,\n      required: false,\n      default: () => translate('GlToken.closeButtonTitle', 'Remove')\n    }\n  },\n  computed: {\n    variantClass() {\n      // eslint-disable-next-line @gitlab/tailwind-no-interpolation -- Not a CSS utility\n      return `gl-token-${this.variant}-variant`;\n    },\n    viewOnlyClass() {\n      return {\n        'gl-token-view-only': this.viewOnly\n      };\n    }\n  },\n  methods: {\n    close($event) {\n      /**\n       * Emitted when x is clicked\n       *\n       * @event close\n       */\n      this.$emit('close', $event);\n    }\n  }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._g({class:['gl-token', _vm.variantClass, _vm.viewOnlyClass]},_vm.$listeners),[_c('span',{staticClass:\"gl-token-content\"},[_vm._t(\"default\"),_vm._v(\" \"),(!_vm.viewOnly)?_c('close-button',{staticClass:\"gl-token-close\",attrs:{\"label\":_vm.removeLabel},on:{\"click\":_vm.close}}):_vm._e()],2)])};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","const WORK_ITEM_TYPE_INCIDENT = 'incident';\nconst WORK_ITEM_TYPE_ISSUE = 'issue';\n\nexport const SUPPORT_BOT_USERNAME = 'support-bot';\n\nexport const issuableInitialDataById = (id) => {\n  try {\n    const el = document.getElementById(id);\n    if (!el?.dataset?.initial) return null;\n\n    return JSON.parse(el.dataset.initial);\n  } catch {\n    return null;\n  }\n};\n\nconst isIssuableIncident = (data) => {\n  return data?.issueType === WORK_ITEM_TYPE_INCIDENT;\n};\n\nconst isIssuableServiceDeskIssue = (data) => {\n  return data?.issueType === WORK_ITEM_TYPE_ISSUE && data?.authorUsername === SUPPORT_BOT_USERNAME;\n};\n\nexport const isLegacyIssueType = (issuableData) => {\n  return isIssuableIncident(issuableData) || isIssuableServiceDeskIssue(issuableData);\n};\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"getIssuesCountEE\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isProject\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableSearchableField\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AssigneeWildcardId\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MilestoneWildcardId\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ReleaseTagWildcardId\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssueType\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicWildcardId\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationWildcardId\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationsCadenceID\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WeightWildcardId\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"HealthStatusFilter\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"NegatedIssueFilterInput\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UnionedIssueFilterInput\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Time\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Time\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Time\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Time\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isProject\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"openedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubepics\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"opened\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"closedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubepics\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"closed\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"allIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubepics\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"all\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isProject\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"openedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubepics\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"opened\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"closedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubepics\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"closed\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"allIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubepics\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"all\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeUsernames\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"authorUsername\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"confidential\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"labelName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneTitle\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"myReactionEmoji\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTag\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseTagWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"epicWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadenceId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weightWildcardId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatusFilter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmContactId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"crmOrganizationId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"not\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"or\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"createdBefore\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedAfter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"closedBefore\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":7768}};\n    doc.loc.source = {\"body\":\"query getIssuesCountEE(\\n  $isProject: Boolean = false\\n  $fullPath: ID!\\n  $iid: String\\n  $search: String\\n  $in: [IssuableSearchableField!]\\n  $assigneeId: String\\n  $assigneeWildcardId: AssigneeWildcardId\\n  $assigneeUsernames: [String!]\\n  $authorUsername: String\\n  $confidential: Boolean\\n  $labelName: [String]\\n  $milestoneTitle: [String]\\n  $milestoneWildcardId: MilestoneWildcardId\\n  $myReactionEmoji: String\\n  $releaseTag: [String!]\\n  $releaseTagWildcardId: ReleaseTagWildcardId\\n  $types: [IssueType!]\\n  $epicId: String\\n  $epicWildcardId: EpicWildcardId\\n  $iterationId: [ID]\\n  $iterationWildcardId: IterationWildcardId\\n  $iterationCadenceId: [IterationsCadenceID!]\\n  $weight: String\\n  $weightWildcardId: WeightWildcardId\\n  $healthStatusFilter: HealthStatusFilter\\n  $crmContactId: String\\n  $crmOrganizationId: String\\n  $not: NegatedIssueFilterInput\\n  $or: UnionedIssueFilterInput\\n  $createdAfter: Time\\n  $createdBefore: Time\\n  $closedAfter: Time\\n  $closedBefore: Time\\n) {\\n  group(fullPath: $fullPath) @skip(if: $isProject) {\\n    id\\n    openedIssues: issues(\\n      includeSubepics: true\\n      includeSubgroups: true\\n      state: opened\\n      iid: $iid\\n      search: $search\\n      in: $in\\n      assigneeId: $assigneeId\\n      assigneeWildcardId: $assigneeWildcardId\\n      assigneeUsernames: $assigneeUsernames\\n      authorUsername: $authorUsername\\n      confidential: $confidential\\n      labelName: $labelName\\n      milestoneTitle: $milestoneTitle\\n      milestoneWildcardId: $milestoneWildcardId\\n      myReactionEmoji: $myReactionEmoji\\n      types: $types\\n      epicId: $epicId\\n      epicWildcardId: $epicWildcardId\\n      iterationId: $iterationId\\n      iterationWildcardId: $iterationWildcardId\\n      iterationCadenceId: $iterationCadenceId\\n      weight: $weight\\n      weightWildcardId: $weightWildcardId\\n      healthStatusFilter: $healthStatusFilter\\n      crmContactId: $crmContactId\\n      crmOrganizationId: $crmOrganizationId\\n      not: $not\\n      or: $or\\n      createdAfter: $createdAfter\\n      createdBefore: $createdBefore\\n      closedAfter: $closedAfter\\n      closedBefore: $closedBefore\\n    ) {\\n      count\\n    }\\n    closedIssues: issues(\\n      includeSubepics: true\\n      includeSubgroups: true\\n      state: closed\\n      iid: $iid\\n      search: $search\\n      in: $in\\n      assigneeId: $assigneeId\\n      assigneeWildcardId: $assigneeWildcardId\\n      assigneeUsernames: $assigneeUsernames\\n      authorUsername: $authorUsername\\n      confidential: $confidential\\n      labelName: $labelName\\n      milestoneTitle: $milestoneTitle\\n      milestoneWildcardId: $milestoneWildcardId\\n      myReactionEmoji: $myReactionEmoji\\n      types: $types\\n      epicId: $epicId\\n      epicWildcardId: $epicWildcardId\\n      iterationId: $iterationId\\n      iterationWildcardId: $iterationWildcardId\\n      iterationCadenceId: $iterationCadenceId\\n      weight: $weight\\n      weightWildcardId: $weightWildcardId\\n      healthStatusFilter: $healthStatusFilter\\n      crmContactId: $crmContactId\\n      crmOrganizationId: $crmOrganizationId\\n      not: $not\\n      or: $or\\n      createdAfter: $createdAfter\\n      createdBefore: $createdBefore\\n      closedAfter: $closedAfter\\n      closedBefore: $closedBefore\\n    ) {\\n      count\\n    }\\n    allIssues: issues(\\n      includeSubepics: true\\n      includeSubgroups: true\\n      state: all\\n      iid: $iid\\n      search: $search\\n      in: $in\\n      assigneeId: $assigneeId\\n      assigneeWildcardId: $assigneeWildcardId\\n      assigneeUsernames: $assigneeUsernames\\n      authorUsername: $authorUsername\\n      confidential: $confidential\\n      labelName: $labelName\\n      milestoneTitle: $milestoneTitle\\n      milestoneWildcardId: $milestoneWildcardId\\n      myReactionEmoji: $myReactionEmoji\\n      types: $types\\n      epicId: $epicId\\n      epicWildcardId: $epicWildcardId\\n      iterationId: $iterationId\\n      iterationWildcardId: $iterationWildcardId\\n      iterationCadenceId: $iterationCadenceId\\n      weight: $weight\\n      weightWildcardId: $weightWildcardId\\n      healthStatusFilter: $healthStatusFilter\\n      crmContactId: $crmContactId\\n      crmOrganizationId: $crmOrganizationId\\n      not: $not\\n      or: $or\\n      createdAfter: $createdAfter\\n      createdBefore: $createdBefore\\n      closedAfter: $closedAfter\\n      closedBefore: $closedBefore\\n    ) {\\n      count\\n    }\\n  }\\n  project(fullPath: $fullPath) @include(if: $isProject) {\\n    id\\n    openedIssues: issues(\\n      includeSubepics: true\\n      state: opened\\n      iid: $iid\\n      search: $search\\n      in: $in\\n      assigneeId: $assigneeId\\n      assigneeWildcardId: $assigneeWildcardId\\n      assigneeUsernames: $assigneeUsernames\\n      authorUsername: $authorUsername\\n      confidential: $confidential\\n      labelName: $labelName\\n      milestoneTitle: $milestoneTitle\\n      milestoneWildcardId: $milestoneWildcardId\\n      myReactionEmoji: $myReactionEmoji\\n      releaseTag: $releaseTag\\n      releaseTagWildcardId: $releaseTagWildcardId\\n      types: $types\\n      epicId: $epicId\\n      epicWildcardId: $epicWildcardId\\n      iterationId: $iterationId\\n      iterationWildcardId: $iterationWildcardId\\n      iterationCadenceId: $iterationCadenceId\\n      weight: $weight\\n      weightWildcardId: $weightWildcardId\\n      healthStatusFilter: $healthStatusFilter\\n      crmContactId: $crmContactId\\n      crmOrganizationId: $crmOrganizationId\\n      not: $not\\n      or: $or\\n      createdAfter: $createdAfter\\n      createdBefore: $createdBefore\\n      closedAfter: $closedAfter\\n      closedBefore: $closedBefore\\n    ) {\\n      count\\n    }\\n    closedIssues: issues(\\n      includeSubepics: true\\n      state: closed\\n      iid: $iid\\n      search: $search\\n      in: $in\\n      assigneeId: $assigneeId\\n      assigneeWildcardId: $assigneeWildcardId\\n      assigneeUsernames: $assigneeUsernames\\n      authorUsername: $authorUsername\\n      confidential: $confidential\\n      labelName: $labelName\\n      milestoneTitle: $milestoneTitle\\n      milestoneWildcardId: $milestoneWildcardId\\n      myReactionEmoji: $myReactionEmoji\\n      releaseTag: $releaseTag\\n      releaseTagWildcardId: $releaseTagWildcardId\\n      types: $types\\n      epicId: $epicId\\n      epicWildcardId: $epicWildcardId\\n      iterationId: $iterationId\\n      iterationWildcardId: $iterationWildcardId\\n      iterationCadenceId: $iterationCadenceId\\n      weight: $weight\\n      weightWildcardId: $weightWildcardId\\n      healthStatusFilter: $healthStatusFilter\\n      crmContactId: $crmContactId\\n      crmOrganizationId: $crmOrganizationId\\n      not: $not\\n      or: $or\\n      createdAfter: $createdAfter\\n      createdBefore: $createdBefore\\n      closedAfter: $closedAfter\\n      closedBefore: $closedBefore\\n    ) {\\n      count\\n    }\\n    allIssues: issues(\\n      includeSubepics: true\\n      state: all\\n      iid: $iid\\n      search: $search\\n      in: $in\\n      assigneeId: $assigneeId\\n      assigneeWildcardId: $assigneeWildcardId\\n      assigneeUsernames: $assigneeUsernames\\n      authorUsername: $authorUsername\\n      confidential: $confidential\\n      labelName: $labelName\\n      milestoneTitle: $milestoneTitle\\n      milestoneWildcardId: $milestoneWildcardId\\n      myReactionEmoji: $myReactionEmoji\\n      releaseTag: $releaseTag\\n      releaseTagWildcardId: $releaseTagWildcardId\\n      types: $types\\n      epicId: $epicId\\n      epicWildcardId: $epicWildcardId\\n      iterationId: $iterationId\\n      iterationWildcardId: $iterationWildcardId\\n      iterationCadenceId: $iterationCadenceId\\n      weight: $weight\\n      weightWildcardId: $weightWildcardId\\n      healthStatusFilter: $healthStatusFilter\\n      crmContactId: $crmContactId\\n      crmOrganizationId: $crmOrganizationId\\n      not: $not\\n      or: $or\\n      createdAfter: $createdAfter\\n      createdBefore: $createdBefore\\n      closedAfter: $closedAfter\\n      closedBefore: $closedBefore\\n    ) {\\n      count\\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[\"getIssuesCountEE\"] = oneQuery(doc, \"getIssuesCountEE\");\n        \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"issuable-list-container\"},[_c('issuable-tabs',{attrs:{\"tabs\":_vm.tabs,\"tab-counts\":_vm.tabCounts,\"current-tab\":_vm.currentTab,\"truncate-counts\":_vm.truncateCounts},on:{\"click\":function($event){return _vm.$emit('click-tab', $event)}},scopedSlots:_vm._u([{key:\"nav-actions\",fn:function(){return [_vm._t(\"nav-actions\")]},proxy:true}],null,true)}),_vm._v(\" \"),_c('filtered-search-bar',{staticClass:\"row-content-block gl-grow gl-border-t-0 sm:gl-flex\",attrs:{\"namespace\":_vm.namespace,\"recent-searches-storage-key\":_vm.recentSearchesStorageKey,\"search-input-placeholder\":_vm.searchInputPlaceholder,\"tokens\":_vm.searchTokens,\"sort-options\":_vm.sortOptions,\"initial-filter-value\":_vm.initialFilterValue,\"initial-sort-by\":_vm.initialSortBy,\"sync-filter-and-sort\":_vm.syncFilterAndSort,\"show-checkbox\":_vm.showBulkEditSidebar,\"checkbox-checked\":_vm.allIssuablesChecked,\"show-friendly-text\":_vm.showFilteredSearchFriendlyText,\"terms-as-tokens\":\"\",\"data-testid\":\"issuable-search-container\"},on:{\"checked-input\":_vm.handleAllIssuablesCheckedInput,\"onFilter\":function($event){return _vm.$emit('filter', $event)},\"onSort\":function($event){return _vm.$emit('sort', $event)}}}),_vm._v(\" \"),(_vm.error)?_c('gl-alert',{class:{ 'gl-mt-5': !_vm.hasItems && !_vm.issuablesLoading },attrs:{\"variant\":\"danger\",\"dismissible\":_vm.hasItems},on:{\"dismiss\":function($event){return _vm.$emit('dismiss-alert')}}},[_vm._v(\"\\n    \"+_vm._s(_vm.error)+\"\\n  \")]):_vm._e(),_vm._v(\" \"),_c('issuable-bulk-edit-sidebar',{attrs:{\"expanded\":_vm.showBulkEditSidebar},scopedSlots:_vm._u([{key:\"bulk-edit-actions\",fn:function(){return [_vm._t(\"bulk-edit-actions\",null,{\"checkedIssuables\":_vm.checkedIssuables})]},proxy:true},{key:\"sidebar-items\",fn:function(){return [_vm._t(\"sidebar-items\",null,{\"checkedIssuables\":_vm.checkedIssuables})]},proxy:true}],null,true)}),_vm._v(\" \"),_vm._t(\"list-body\"),_vm._v(\" \"),(_vm.issuablesLoading)?_c('ul',{staticClass:\"content-list\"},_vm._l((_vm.skeletonItemCount),function(n){return _c('li',{key:n,staticClass:\"issue !gl-px-5 !gl-py-5\"},[_c('gl-skeleton-loader')],1)}),0):[(_vm.issuables.length > 0 && !_vm.isGridView)?_c(_vm.issuablesWrapper,_vm._b({tag:\"component\",staticClass:\"content-list issuable-list issues-list\",class:{ 'manual-ordering': _vm.isManualOrdering },on:{\"update\":_vm.handleVueDraggableUpdate}},'component',_vm.$options.vueDraggableAttributes,false),_vm._l((_vm.issuables),function(issuable){return _c('issuable-item',{key:issuable.id,class:[{ 'gl-cursor-grab': _vm.isManualOrdering }, _vm.issuableItemClass],attrs:{\"data-testid\":\"issuable-container\",\"data-qa-issuable-title\":issuable.title,\"has-scoped-labels-feature\":_vm.hasScopedLabelsFeature,\"issuable-symbol\":_vm.issuableSymbol,\"issuable\":issuable,\"label-filter-param\":_vm.labelFilterParam,\"full-path\":_vm.fullPath,\"show-checkbox\":_vm.showBulkEditSidebar,\"checked\":_vm.isIssuableChecked(issuable),\"show-work-item-type-icon\":_vm.showWorkItemTypeIcon,\"prevent-redirect\":_vm.preventRedirect,\"is-active\":_vm.isIssuableActive(issuable)},on:{\"checked-input\":function($event){return _vm.handleIssuableCheckedInput(issuable, $event)},\"select-issuable\":function($event){return _vm.$emit('select-issuable', $event)}},scopedSlots:_vm._u([{key:\"reference\",fn:function(){return [_vm._t(\"reference\",null,{\"issuable\":issuable})]},proxy:true},{key:\"author\",fn:function(){return [_vm._t(\"author\",null,{\"author\":issuable.author})]},proxy:true},{key:\"timeframe\",fn:function(){return [_vm._t(\"timeframe\",null,{\"issuable\":issuable})]},proxy:true},{key:\"target-branch\",fn:function(){return [_vm._t(\"target-branch\",null,{\"issuable\":issuable})]},proxy:true},{key:\"status\",fn:function(){return [_vm._t(\"status\",null,{\"issuable\":issuable})]},proxy:true},{key:\"statistics\",fn:function(){return [_vm._t(\"statistics\",null,{\"issuable\":issuable})]},proxy:true},{key:\"approval-status\",fn:function(){return [_vm._t(\"approval-status\",null,{\"issuable\":issuable})]},proxy:true},{key:\"pipeline-status\",fn:function(){return [_vm._t(\"pipeline-status\",null,{\"issuable\":issuable})]},proxy:true},{key:\"reviewers\",fn:function(){return [_vm._t(\"reviewers\",null,{\"issuable\":issuable})]},proxy:true},{key:\"title-icons\",fn:function(){return [_vm._t(\"title-icons\",null,{\"issuable\":issuable})]},proxy:true},{key:\"discussions\",fn:function(){return [_vm._t(\"discussions\",null,{\"issuable\":issuable})]},proxy:true},{key:\"health-status\",fn:function(){return [_vm._t(\"health-status\",null,{\"issuable\":issuable})]},proxy:true}],null,true)})}),1):(_vm.issuables.length > 0 && _vm.isGridView)?_c('div',[_c('issuable-grid')],1):(_vm.initialFilterValue.length > 0)?_c('empty-result'):(!_vm.error)?_vm._t(\"empty-state\"):_vm._e()],_vm._v(\" \"),_c('div',{staticClass:\"gl-relative gl-mt-6 gl-flex gl-justify-between md:!gl-justify-center\"},[(_vm.showPaginationControls && _vm.useKeysetPagination)?_c('gl-keyset-pagination',{attrs:{\"has-next-page\":_vm.hasNextPage,\"has-previous-page\":_vm.hasPreviousPage},on:{\"next\":function($event){return _vm.$emit('next-page')},\"prev\":function($event){return _vm.$emit('previous-page')}}}):(_vm.showPaginationControls)?_c('gl-pagination',{staticClass:\"gl-pagination gl-mt-3\",attrs:{\"per-page\":_vm.defaultPageSize,\"total-items\":_vm.totalItems,\"value\":_vm.currentPage,\"prev-page\":_vm.previousPage,\"next-page\":_vm.nextPage,\"align\":\"center\"},on:{\"input\":function($event){return _vm.$emit('page-change', $event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showPageSizeSelector)?_c('local-storage-sync',{attrs:{\"value\":_vm.defaultPageSize,\"storage-key\":_vm.$options.PAGE_SIZE_STORAGE_KEY},on:{\"input\":_vm.handlePageSizeChange}},[_c('page-size-selector',{staticClass:\"gl-relative gl-right-0 md:gl-absolute\",attrs:{\"value\":_vm.defaultPageSize},on:{\"input\":_vm.handlePageSizeChange}})],1):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nconst getLayoutPage = () => document.querySelector('.layout-page');\n\nexport default {\n  props: {\n    expanded: {\n      type: Boolean,\n      required: true,\n    },\n  },\n  watch: {\n    expanded(value) {\n      const layoutPageEl = getLayoutPage();\n\n      if (layoutPageEl) {\n        layoutPageEl.classList.toggle('right-sidebar-expanded', value);\n        layoutPageEl.classList.toggle('right-sidebar-collapsed', !value);\n      }\n    },\n  },\n  mounted() {\n    const layoutPageEl = getLayoutPage();\n\n    if (layoutPageEl) {\n      layoutPageEl.classList.add('issuable-bulk-update-sidebar');\n    }\n  },\n};\n</script>\n\n<template>\n  <aside\n    :class=\"{ 'right-sidebar-expanded': expanded, 'right-sidebar-collapsed': !expanded }\"\n    class=\"issues-bulk-update right-sidebar\"\n    aria-live=\"polite\"\n  >\n    <div class=\"gl-border-b gl-flex gl-justify-between gl-p-4\">\n      <slot name=\"bulk-edit-actions\"></slot>\n    </div>\n    <slot name=\"sidebar-items\"></slot>\n  </aside>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_bulk_edit_sidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_bulk_edit_sidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./issuable_bulk_edit_sidebar.vue?vue&type=template&id=1eee10ad\"\nimport script from \"./issuable_bulk_edit_sidebar.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_bulk_edit_sidebar.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 render(){var _vm=this,_c=_vm._self._c;return _c('aside',{staticClass:\"issues-bulk-update right-sidebar\",class:{ 'right-sidebar-expanded': _vm.expanded, 'right-sidebar-collapsed': !_vm.expanded },attrs:{\"aria-live\":\"polite\"}},[_c('div',{staticClass:\"gl-border-b gl-flex gl-justify-between gl-p-4\"},[_vm._t(\"bulk-edit-actions\")],2),_vm._v(\" \"),_vm._t(\"sidebar-items\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_prefetch.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./work_item_prefetch.vue?vue&type=script&lang=js\"","<script>\nimport { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants';\nimport workItemByIidQuery from '../graphql/work_item_by_iid.query.graphql';\n\nexport default {\n  name: 'WorkItemPrefetch',\n  inject: {\n    fullPath: {\n      default: '',\n    },\n  },\n  props: {\n    workItemIid: {\n      type: String,\n      required: true,\n    },\n    workItemFullPath: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  data() {\n    return {\n      skipQuery: true,\n    };\n  },\n  apollo: {\n    // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n    workItem: {\n      query() {\n        return workItemByIidQuery;\n      },\n      variables() {\n        return {\n          fullPath: this.workItemFullPath || this.fullPath,\n          iid: this.workItemIid,\n        };\n      },\n      skip() {\n        return !this.fullPath || this.skipQuery;\n      },\n      update(data) {\n        return data.workspace.workItem ?? {};\n      },\n    },\n  },\n  methods: {\n    prefetchWorkItem() {\n      this.prefetch = setTimeout(() => {\n        this.skipQuery = false;\n      }, DEFAULT_DEBOUNCE_AND_THROTTLE_MS);\n    },\n    clearPrefetching() {\n      if (this.prefetch) {\n        clearTimeout(this.prefetch);\n        this.prefetch = null;\n      }\n    },\n  },\n  render() {\n    return this.$scopedSlots.default({\n      prefetchWorkItem: this.prefetchWorkItem,\n      clearPrefetching: this.clearPrefetching,\n    });\n  },\n};\n</script>\n","var render, staticRenderFns\nimport script from \"./work_item_prefetch.vue?vue&type=script&lang=js\"\nexport * from \"./work_item_prefetch.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/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_item.vue?vue&type=script&lang=js\"","<script>\nimport {\n  GlBadge,\n  GlLink,\n  GlIcon,\n  GlLabel,\n  GlFormCheckbox,\n  GlSprintf,\n  GlTooltipDirective,\n} from '@gitlab/ui';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { STATUS_OPEN, STATUS_CLOSED } from '~/issues/constants';\nimport { isScopedLabel } from '~/lib/utils/common_utils';\nimport { isExternal, setUrlFragment, visitUrl } from '~/lib/utils/url_utility';\nimport { __, n__, sprintf } from '~/locale';\nimport IssuableAssignees from '~/issuable/components/issue_assignees.vue';\n\nimport timeagoMixin from '~/vue_shared/mixins/timeago';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport WorkItemTypeIcon from '~/work_items/components/work_item_type_icon.vue';\nimport WorkItemPrefetch from '~/work_items/components/work_item_prefetch.vue';\nimport {\n  STATE_OPEN,\n  STATE_CLOSED,\n  LINKED_CATEGORIES_MAP,\n  WORK_ITEM_TYPE_VALUE_INCIDENT,\n  WORK_ITEM_TYPE_VALUE_ISSUE,\n} from '~/work_items/constants';\nimport {\n  isAssigneesWidget,\n  isLabelsWidget,\n  findLinkedItemsWidget,\n  canRouterNav,\n} from '~/work_items/utils';\nimport { SUPPORT_BOT_USERNAME } from '~/issues/show/utils/issuable_data';\n\nexport default {\n  components: {\n    GlBadge,\n    GlLink,\n    GlIcon,\n    GlLabel,\n    GlFormCheckbox,\n    GlSprintf,\n    IssuableAssignees,\n    WorkItemTypeIcon,\n    WorkItemPrefetch,\n    WorkItemRelationshipIcons: () =>\n      import('~/work_items/components/shared/work_item_relationship_icons.vue'),\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  mixins: [timeagoMixin, glFeatureFlagMixin()],\n  inject: {\n    isGroup: {\n      default: false,\n    },\n  },\n  props: {\n    hasScopedLabelsFeature: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    issuableSymbol: {\n      type: String,\n      required: true,\n    },\n    fullPath: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    issuable: {\n      type: Object,\n      required: true,\n    },\n    labelFilterParam: {\n      type: String,\n      required: false,\n      default: 'label_name',\n    },\n    showCheckbox: {\n      type: Boolean,\n      required: true,\n    },\n    checked: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showWorkItemTypeIcon: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    isActive: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    preventRedirect: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    issuableId() {\n      return getIdFromGraphQLId(this.issuable.id) || this.issuable.id;\n    },\n    issuableIid() {\n      return this.issuable.iid;\n    },\n    workItemFullPath() {\n      return (\n        this.issuable.namespace?.fullPath || this.issuable.reference?.split(this.issuableSymbol)[0]\n      );\n    },\n    isIncident() {\n      return this.issuable.workItemType?.name === WORK_ITEM_TYPE_VALUE_INCIDENT;\n    },\n    isServiceDeskIssue() {\n      return (\n        this.issuable.workItemType?.name === WORK_ITEM_TYPE_VALUE_ISSUE &&\n        this.issuable?.author?.username === SUPPORT_BOT_USERNAME\n      );\n    },\n    author() {\n      return this.issuable.author || {};\n    },\n    externalAuthor() {\n      return this.issuable.externalAuthor;\n    },\n    issuableLinkHref() {\n      return this.issuable.webPath || this.issuable.gitlabWebUrl || this.issuable.webUrl;\n    },\n    authorId() {\n      return getIdFromGraphQLId(this.author.id);\n    },\n    isIssuableUrlExternal() {\n      return isExternal(this.issuableLinkHref ?? '');\n    },\n    reference() {\n      return this.issuable.reference || `${this.issuableSymbol}${this.issuable.iid}`;\n    },\n    type() {\n      return this.issuable.type || this.issuable.workItemType?.name.toUpperCase();\n    },\n    labels() {\n      return (\n        this.issuable.labels?.nodes ||\n        this.issuable.labels ||\n        this.issuable.widgets?.find(isLabelsWidget)?.labels.nodes ||\n        []\n      );\n    },\n    labelIdsString() {\n      return JSON.stringify(this.labels.map((label) => getIdFromGraphQLId(label.id)));\n    },\n    assignees() {\n      return (\n        this.issuable.assignees?.nodes ||\n        this.issuable.assignees ||\n        this.issuable.widgets?.find(isAssigneesWidget)?.assignees.nodes ||\n        []\n      );\n    },\n    filteredLinkedItems() {\n      const linkedItems = findLinkedItemsWidget(this.issuable)?.linkedItems?.nodes || [];\n      return linkedItems.filter((item) => {\n        return item.linkType !== LINKED_CATEGORIES_MAP.RELATES_TO;\n      });\n    },\n    createdAt() {\n      return this.timeFormatted(this.issuable.createdAt);\n    },\n    isOpen() {\n      return [STATUS_OPEN, STATE_OPEN].includes(this.issuable.state);\n    },\n    isClosed() {\n      return [STATUS_CLOSED, STATE_CLOSED].includes(this.issuable.state);\n    },\n    statusTooltip() {\n      return this.issuable.mergedAt ? this.tooltipTitle(this.issuable.mergedAt) : '';\n    },\n    timestamp() {\n      return this.isClosed && this.issuable.closedAt\n        ? this.issuable.closedAt\n        : this.issuable.updatedAt;\n    },\n    formattedTimestamp() {\n      if (this.isClosed && this.issuable.closedAt) {\n        return sprintf(__('closed %{timeago}'), {\n          timeago: this.timeFormatted(this.issuable.closedAt),\n        });\n      }\n      if (this.issuable.updatedAt !== this.issuable.createdAt) {\n        return sprintf(__('updated %{timeAgo}'), {\n          timeAgo: this.timeFormatted(this.issuable.updatedAt),\n        });\n      }\n      return undefined;\n    },\n    issuableTitleProps() {\n      if (this.isIssuableUrlExternal) {\n        return {\n          target: '_blank',\n        };\n      }\n      return {};\n    },\n    taskStatus() {\n      const { completedCount, count } = this.issuable.taskCompletionStatus || {};\n      if (!count) {\n        return undefined;\n      }\n\n      return sprintf(\n        n__(\n          '%{completedCount} of %{count} checklist item completed',\n          '%{completedCount} of %{count} checklist items completed',\n          count,\n        ),\n        { completedCount, count },\n      );\n    },\n    notesCount() {\n      return this.issuable.userDiscussionsCount ?? this.issuable.userNotesCount;\n    },\n    showDiscussions() {\n      return typeof this.notesCount === 'number';\n    },\n    showIssuableMeta() {\n      return Boolean(\n        this.hasSlotContents('status') ||\n          this.hasSlotContents('statistics') ||\n          this.showDiscussions ||\n          this.issuable.assignees,\n      );\n    },\n    issuableNotesLink() {\n      return setUrlFragment(this.issuableLinkHref, 'notes');\n    },\n    statusBadgeVariant() {\n      if (this.isMergeRequest && this.isClosed) {\n        return 'danger';\n      }\n\n      return 'info';\n    },\n    isMergeRequest() {\n      // eslint-disable-next-line no-underscore-dangle\n      return this.issuable.__typename === 'MergeRequest';\n    },\n    issueAsWorkItem() {\n      return (\n        !this.isGroup &&\n        // Use legacy view for unsupported work item types\n        // incidents and Service Desk issues\n        !this.isIncident &&\n        !this.isServiceDeskIssue &&\n        this.glFeatures.workItemsViewPreference &&\n        gon.current_user_use_work_items_view\n      );\n    },\n    hiddenIssuableTitle() {\n      if (this.isMergeRequest) {\n        return __('This merge request is hidden because its author has been banned.');\n      }\n\n      return __('This issue is hidden because its author has been banned.');\n    },\n    listItemUniqueId() {\n      const availableFullPath = this.workItemFullPath || this.fullPath;\n      return `listItem-${availableFullPath}/${getIdFromGraphQLId(this.issuable.id)}`;\n    },\n  },\n  methods: {\n    hasSlotContents(slotName) {\n      // eslint-disable-next-line @gitlab/vue-prefer-dollar-scopedslots\n      return Boolean(this.$slots[slotName]);\n    },\n    scopedLabel(label) {\n      const allowsScopedLabels =\n        this.hasScopedLabelsFeature ||\n        this.issuable.widgets?.find(isLabelsWidget)?.allowsScopedLabels;\n      return allowsScopedLabels && isScopedLabel(label);\n    },\n    labelTitle(label) {\n      return label.title || label.name;\n    },\n    labelTarget(label) {\n      const value = encodeURIComponent(this.labelTitle(label));\n      return `?${this.labelFilterParam}[]=${value}`;\n    },\n    /**\n     * This is needed as an independent method since\n     * when user changes current page, `$refs.authorLink`\n     * will be null until next page results are loaded & rendered.\n     */\n    getAuthorPopoverTarget() {\n      if (this.$refs.authorLink) {\n        return this.$refs.authorLink.$el;\n      }\n      return '';\n    },\n    handleIssuableItemClick(e) {\n      if (e.metaKey || e.ctrlKey || this.showCheckbox || e.button === 1) {\n        return;\n      }\n      e.preventDefault();\n      // Unsupported types incidents and Service Desk issues\n      // should not open in drawer\n      if (this.isIncident || this.isServiceDeskIssue || !this.preventRedirect) {\n        this.navigateToIssuable();\n        return;\n      }\n      this.$emit('select-issuable', {\n        id: this.issuable.id,\n        iid: this.issuableIid,\n        webUrl: this.issuable.webUrl,\n        fullPath: this.workItemFullPath,\n        workItemType: this.type.toLowerCase(),\n      });\n    },\n    navigateToIssuable() {\n      if (!this.fullPath) {\n        visitUrl(this.issuableLinkHref);\n      }\n      const shouldRouterNav = canRouterNav({\n        fullPath: this.fullPath,\n        webUrl: this.issuableLinkHref,\n        isGroup: this.isGroup,\n        issueAsWorkItem: this.issueAsWorkItem,\n      });\n\n      if (shouldRouterNav) {\n        this.$router.push({\n          name: 'workItem',\n          params: {\n            iid: this.issuableIid,\n          },\n        });\n      } else {\n        visitUrl(this.issuableLinkHref);\n      }\n    },\n    handleRowClick(e) {\n      if (this.preventRedirect) {\n        this.handleIssuableItemClick(e);\n      }\n    },\n  },\n};\n</script>\n\n<template>\n  <li\n    :id=\"`issuable_${issuableId}`\"\n    class=\"issue !gl-flex !gl-px-5\"\n    :class=\"{\n      closed: issuable.closedAt,\n      'gl-bg-blue-50': isActive,\n      'gl-cursor-pointer': preventRedirect && !showCheckbox,\n      'hover:gl-bg-subtle': preventRedirect && !isActive && !showCheckbox,\n    }\"\n    :data-labels=\"labelIdsString\"\n    :data-qa-issue-id=\"issuableId\"\n    data-testid=\"issuable-item-wrapper\"\n    @click=\"handleRowClick\"\n  >\n    <gl-form-checkbox\n      v-if=\"showCheckbox\"\n      class=\"gl-pr-3 gl-pt-2\"\n      :checked=\"checked\"\n      :data-id=\"issuableId\"\n      :data-iid=\"issuableIid\"\n      :data-type=\"type\"\n      @input=\"$emit('checked-input', $event)\"\n    >\n      <span class=\"gl-sr-only\">{{ issuable.title }}</span>\n    </gl-form-checkbox>\n    <div class=\"issuable-main-info\">\n      <div data-testid=\"issuable-title\" class=\"issue-title title gl-font-size-0\">\n        <work-item-type-icon\n          v-if=\"showWorkItemTypeIcon\"\n          class=\"gl-mr-2\"\n          :work-item-type=\"type\"\n          show-tooltip-on-hover\n        />\n        <gl-icon\n          v-if=\"issuable.confidential\"\n          v-gl-tooltip\n          name=\"eye-slash\"\n          :title=\"__('Confidential')\"\n          :aria-label=\"__('Confidential')\"\n          class=\"gl-mr-2\"\n        />\n        <gl-icon\n          v-if=\"issuable.hidden\"\n          v-gl-tooltip\n          name=\"spam\"\n          :title=\"hiddenIssuableTitle\"\n          :aria-label=\"__('Hidden')\"\n        />\n        <work-item-prefetch\n          v-if=\"preventRedirect\"\n          :work-item-iid=\"issuableIid\"\n          :work-item-full-path=\"workItemFullPath\"\n          data-testid=\"issuable-prefetch-trigger\"\n        >\n          <template #default=\"{ prefetchWorkItem, clearPrefetching }\">\n            <gl-link\n              :id=\"listItemUniqueId\"\n              class=\"issue-title-text gl-text-base\"\n              dir=\"auto\"\n              :href=\"issuableLinkHref\"\n              data-testid=\"issuable-title-link\"\n              v-bind=\"issuableTitleProps\"\n              @click.stop=\"handleIssuableItemClick\"\n              @mouseover.native=\"prefetchWorkItem(issuableIid)\"\n              @mouseout.native=\"clearPrefetching\"\n            >\n              {{ issuable.title }}\n              <gl-icon v-if=\"isIssuableUrlExternal\" name=\"external-link\" class=\"gl-ml-2\" />\n            </gl-link>\n          </template>\n        </work-item-prefetch>\n        <gl-link\n          v-else\n          :id=\"listItemUniqueId\"\n          class=\"issue-title-text gl-text-base\"\n          dir=\"auto\"\n          :href=\"issuableLinkHref\"\n          data-testid=\"issuable-title-link\"\n          v-bind=\"issuableTitleProps\"\n          @click.stop=\"handleIssuableItemClick\"\n        >\n          {{ issuable.title }}\n          <gl-icon v-if=\"isIssuableUrlExternal\" name=\"external-link\" class=\"gl-ml-2\" />\n        </gl-link>\n        <slot v-if=\"hasSlotContents('title-icons')\" name=\"title-icons\"></slot>\n        <span\n          v-if=\"taskStatus\"\n          class=\"task-status gl-ml-2 gl-hidden gl-text-sm sm:!gl-inline-block\"\n          data-testid=\"task-status\"\n        >\n          {{ taskStatus }}\n        </span>\n      </div>\n      <div class=\"issuable-info\">\n        <slot v-if=\"hasSlotContents('reference')\" name=\"reference\"></slot>\n        <span v-else data-testid=\"issuable-reference\" class=\"issuable-reference\">\n          {{ reference }}\n        </span>\n        <span class=\"gl-hidden sm:gl-inline\">\n          <span aria-hidden=\"true\">&middot;</span>\n          <span class=\"issuable-authored gl-mr-3\">\n            <gl-sprintf v-if=\"author.name\" :message=\"__('created %{timeAgo} by %{author}')\">\n              <template #timeAgo>\n                <span\n                  v-gl-tooltip.bottom\n                  :title=\"tooltipTitle(issuable.createdAt)\"\n                  data-testid=\"issuable-created-at\"\n                >\n                  {{ createdAt }}\n                </span>\n              </template>\n              <template #author>\n                <span v-if=\"externalAuthor\" data-testid=\"external-author\"\n                  >{{ externalAuthor }} {{ __('via') }}</span\n                >\n                <slot v-if=\"hasSlotContents('author')\" name=\"author\"></slot>\n                <gl-link\n                  v-else\n                  :data-user-id=\"authorId\"\n                  :data-username=\"author.username\"\n                  :data-name=\"author.name\"\n                  :data-avatar-url=\"author.avatarUrl\"\n                  :href=\"author.webPath\"\n                  data-testid=\"issuable-author\"\n                  class=\"author-link js-user-link gl-text-sm !gl-text-subtle\"\n                  @click.stop\n                >\n                  <span class=\"author\">{{ author.name }}</span>\n                </gl-link>\n              </template>\n            </gl-sprintf>\n            <gl-sprintf v-else :message=\"__('created %{timeAgo}')\">\n              <template #timeAgo>\n                <span\n                  v-gl-tooltip.bottom\n                  :title=\"tooltipTitle(issuable.createdAt)\"\n                  data-testid=\"issuable-created-at\"\n                >\n                  {{ createdAt }}\n                </span>\n              </template>\n            </gl-sprintf>\n          </span>\n          <slot name=\"timeframe\"></slot>\n          <slot name=\"target-branch\"></slot>\n        </span>\n        <p\n          v-if=\"labels.length\"\n          role=\"group\"\n          :aria-label=\"__('Labels')\"\n          class=\"gl-mb-0 gl-mt-1 gl-flex gl-flex-wrap gl-gap-2\"\n        >\n          <gl-label\n            v-for=\"(label, index) in labels\"\n            :key=\"index\"\n            :background-color=\"label.color\"\n            :title=\"labelTitle(label)\"\n            :description=\"label.description\"\n            :scoped=\"scopedLabel(label)\"\n            :target=\"labelTarget(label)\"\n            @click.stop\n          />\n        </p>\n      </div>\n    </div>\n    <div class=\"issuable-meta\">\n      <ul v-if=\"showIssuableMeta\" class=\"controls gl-gap-3\">\n        <!-- eslint-disable-next-line @gitlab/vue-prefer-dollar-scopedslots -->\n        <li v-if=\"$slots.status\" data-testid=\"issuable-status\" class=\"!gl-mr-0\">\n          <gl-badge\n            v-if=\"!isOpen\"\n            v-gl-tooltip.top\n            :variant=\"statusBadgeVariant\"\n            :title=\"statusTooltip\"\n          >\n            <slot name=\"status\"></slot>\n          </gl-badge>\n          <slot v-else name=\"status\"></slot>\n        </li>\n        <slot name=\"pipeline-status\"></slot>\n        <li v-if=\"assignees.length\" class=\"!gl-mr-0\">\n          <issuable-assignees\n            :assignees=\"assignees\"\n            :icon-size=\"16\"\n            :max-visible=\"4\"\n            class=\"gl-flex gl-items-center\"\n          />\n        </li>\n        <slot name=\"reviewers\"></slot>\n        <slot name=\"approval-status\"></slot>\n        <slot name=\"discussions\">\n          <li\n            v-if=\"showDiscussions && notesCount\"\n            class=\"!gl-mr-0 gl-hidden sm:gl-inline-flex\"\n            data-testid=\"issuable-comments\"\n          >\n            <div\n              v-gl-tooltip.top\n              :title=\"__('Comments')\"\n              class=\"gl-flex gl-items-center !gl-text-inherit\"\n            >\n              <gl-icon name=\"comments\" class=\"gl-mr-2\" />\n              {{ notesCount }}\n            </div>\n          </li>\n        </slot>\n        <slot name=\"statistics\"></slot>\n        <work-item-relationship-icons\n          v-if=\"isOpen && filteredLinkedItems.length > 0\"\n          :work-item-type=\"type\"\n          :linked-work-items=\"filteredLinkedItems\"\n          :work-item-full-path=\"workItemFullPath\"\n          :work-item-iid=\"issuableIid\"\n          :work-item-web-url=\"issuableLinkHref\"\n        />\n      </ul>\n      <div\n        class=\"gl-hidden sm:gl-flex sm:gl-flex-col sm:gl-items-end md:gl-flex-row md:gl-items-center\"\n      >\n        <slot name=\"health-status\"></slot>\n        <div\n          v-gl-tooltip.bottom\n          class=\"gl-text-subtle sm:gl-inline-block\"\n          :title=\"tooltipTitle(timestamp)\"\n          data-testid=\"issuable-timestamp\"\n        >\n          {{ formattedTimestamp }}\n        </div>\n      </div>\n    </div>\n  </li>\n</template>\n","import { render, staticRenderFns } from \"./issuable_item.vue?vue&type=template&id=5ed3fd3f\"\nimport script from \"./issuable_item.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_item.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 render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"issue !gl-flex !gl-px-5\",class:{\n    closed: _vm.issuable.closedAt,\n    'gl-bg-blue-50': _vm.isActive,\n    'gl-cursor-pointer': _vm.preventRedirect && !_vm.showCheckbox,\n    'hover:gl-bg-subtle': _vm.preventRedirect && !_vm.isActive && !_vm.showCheckbox,\n  },attrs:{\"id\":`issuable_${_vm.issuableId}`,\"data-labels\":_vm.labelIdsString,\"data-qa-issue-id\":_vm.issuableId,\"data-testid\":\"issuable-item-wrapper\"},on:{\"click\":_vm.handleRowClick}},[(_vm.showCheckbox)?_c('gl-form-checkbox',{staticClass:\"gl-pr-3 gl-pt-2\",attrs:{\"checked\":_vm.checked,\"data-id\":_vm.issuableId,\"data-iid\":_vm.issuableIid,\"data-type\":_vm.type},on:{\"input\":function($event){return _vm.$emit('checked-input', $event)}}},[_c('span',{staticClass:\"gl-sr-only\"},[_vm._v(_vm._s(_vm.issuable.title))])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"issuable-main-info\"},[_c('div',{staticClass:\"issue-title title gl-font-size-0\",attrs:{\"data-testid\":\"issuable-title\"}},[(_vm.showWorkItemTypeIcon)?_c('work-item-type-icon',{staticClass:\"gl-mr-2\",attrs:{\"work-item-type\":_vm.type,\"show-tooltip-on-hover\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.issuable.confidential)?_c('gl-icon',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"gl-mr-2\",attrs:{\"name\":\"eye-slash\",\"title\":_vm.__('Confidential'),\"aria-label\":_vm.__('Confidential')}}):_vm._e(),_vm._v(\" \"),(_vm.issuable.hidden)?_c('gl-icon',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],attrs:{\"name\":\"spam\",\"title\":_vm.hiddenIssuableTitle,\"aria-label\":_vm.__('Hidden')}}):_vm._e(),_vm._v(\" \"),(_vm.preventRedirect)?_c('work-item-prefetch',{attrs:{\"work-item-iid\":_vm.issuableIid,\"work-item-full-path\":_vm.workItemFullPath,\"data-testid\":\"issuable-prefetch-trigger\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ prefetchWorkItem, clearPrefetching }){return [_c('gl-link',_vm._b({staticClass:\"issue-title-text gl-text-base\",attrs:{\"id\":_vm.listItemUniqueId,\"dir\":\"auto\",\"href\":_vm.issuableLinkHref,\"data-testid\":\"issuable-title-link\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleIssuableItemClick.apply(null, arguments)}},nativeOn:{\"mouseover\":function($event){return prefetchWorkItem(_vm.issuableIid)},\"mouseout\":function($event){return clearPrefetching.apply(null, arguments)}}},'gl-link',_vm.issuableTitleProps,false),[_vm._v(\"\\n            \"+_vm._s(_vm.issuable.title)+\"\\n            \"),(_vm.isIssuableUrlExternal)?_c('gl-icon',{staticClass:\"gl-ml-2\",attrs:{\"name\":\"external-link\"}}):_vm._e()],1)]}}],null,false,931522759)}):_c('gl-link',_vm._b({staticClass:\"issue-title-text gl-text-base\",attrs:{\"id\":_vm.listItemUniqueId,\"dir\":\"auto\",\"href\":_vm.issuableLinkHref,\"data-testid\":\"issuable-title-link\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleIssuableItemClick.apply(null, arguments)}}},'gl-link',_vm.issuableTitleProps,false),[_vm._v(\"\\n        \"+_vm._s(_vm.issuable.title)+\"\\n        \"),(_vm.isIssuableUrlExternal)?_c('gl-icon',{staticClass:\"gl-ml-2\",attrs:{\"name\":\"external-link\"}}):_vm._e()],1),_vm._v(\" \"),(_vm.hasSlotContents('title-icons'))?_vm._t(\"title-icons\"):_vm._e(),_vm._v(\" \"),(_vm.taskStatus)?_c('span',{staticClass:\"task-status gl-ml-2 gl-hidden gl-text-sm sm:!gl-inline-block\",attrs:{\"data-testid\":\"task-status\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.taskStatus)+\"\\n      \")]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"issuable-info\"},[(_vm.hasSlotContents('reference'))?_vm._t(\"reference\"):_c('span',{staticClass:\"issuable-reference\",attrs:{\"data-testid\":\"issuable-reference\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.reference)+\"\\n      \")]),_vm._v(\" \"),_c('span',{staticClass:\"gl-hidden sm:gl-inline\"},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"·\")]),_vm._v(\" \"),_c('span',{staticClass:\"issuable-authored gl-mr-3\"},[(_vm.author.name)?_c('gl-sprintf',{attrs:{\"message\":_vm.__('created %{timeAgo} by %{author}')},scopedSlots:_vm._u([{key:\"timeAgo\",fn:function(){return [_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.bottom\",modifiers:{\"bottom\":true}}],attrs:{\"title\":_vm.tooltipTitle(_vm.issuable.createdAt),\"data-testid\":\"issuable-created-at\"}},[_vm._v(\"\\n                \"+_vm._s(_vm.createdAt)+\"\\n              \")])]},proxy:true},{key:\"author\",fn:function(){return [(_vm.externalAuthor)?_c('span',{attrs:{\"data-testid\":\"external-author\"}},[_vm._v(_vm._s(_vm.externalAuthor)+\" \"+_vm._s(_vm.__('via')))]):_vm._e(),_vm._v(\" \"),(_vm.hasSlotContents('author'))?_vm._t(\"author\"):_c('gl-link',{staticClass:\"author-link js-user-link gl-text-sm !gl-text-subtle\",attrs:{\"data-user-id\":_vm.authorId,\"data-username\":_vm.author.username,\"data-name\":_vm.author.name,\"data-avatar-url\":_vm.author.avatarUrl,\"href\":_vm.author.webPath,\"data-testid\":\"issuable-author\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('span',{staticClass:\"author\"},[_vm._v(_vm._s(_vm.author.name))])])]},proxy:true}],null,true)}):_c('gl-sprintf',{attrs:{\"message\":_vm.__('created %{timeAgo}')},scopedSlots:_vm._u([{key:\"timeAgo\",fn:function(){return [_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.bottom\",modifiers:{\"bottom\":true}}],attrs:{\"title\":_vm.tooltipTitle(_vm.issuable.createdAt),\"data-testid\":\"issuable-created-at\"}},[_vm._v(\"\\n                \"+_vm._s(_vm.createdAt)+\"\\n              \")])]},proxy:true}])})],1),_vm._v(\" \"),_vm._t(\"timeframe\"),_vm._v(\" \"),_vm._t(\"target-branch\")],2),_vm._v(\" \"),(_vm.labels.length)?_c('p',{staticClass:\"gl-mb-0 gl-mt-1 gl-flex gl-flex-wrap gl-gap-2\",attrs:{\"role\":\"group\",\"aria-label\":_vm.__('Labels')}},_vm._l((_vm.labels),function(label,index){return _c('gl-label',{key:index,attrs:{\"background-color\":label.color,\"title\":_vm.labelTitle(label),\"description\":label.description,\"scoped\":_vm.scopedLabel(label),\"target\":_vm.labelTarget(label)},on:{\"click\":function($event){$event.stopPropagation();}}})}),1):_vm._e()],2)]),_vm._v(\" \"),_c('div',{staticClass:\"issuable-meta\"},[(_vm.showIssuableMeta)?_c('ul',{staticClass:\"controls gl-gap-3\"},[(_vm.$slots.status)?_c('li',{staticClass:\"!gl-mr-0\",attrs:{\"data-testid\":\"issuable-status\"}},[(!_vm.isOpen)?_c('gl-badge',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.top\",modifiers:{\"top\":true}}],attrs:{\"variant\":_vm.statusBadgeVariant,\"title\":_vm.statusTooltip}},[_vm._t(\"status\")],2):_vm._t(\"status\")],2):_vm._e(),_vm._v(\" \"),_vm._t(\"pipeline-status\"),_vm._v(\" \"),(_vm.assignees.length)?_c('li',{staticClass:\"!gl-mr-0\"},[_c('issuable-assignees',{staticClass:\"gl-flex gl-items-center\",attrs:{\"assignees\":_vm.assignees,\"icon-size\":16,\"max-visible\":4}})],1):_vm._e(),_vm._v(\" \"),_vm._t(\"reviewers\"),_vm._v(\" \"),_vm._t(\"approval-status\"),_vm._v(\" \"),_vm._t(\"discussions\",function(){return [(_vm.showDiscussions && _vm.notesCount)?_c('li',{staticClass:\"!gl-mr-0 gl-hidden sm:gl-inline-flex\",attrs:{\"data-testid\":\"issuable-comments\"}},[_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.top\",modifiers:{\"top\":true}}],staticClass:\"gl-flex gl-items-center !gl-text-inherit\",attrs:{\"title\":_vm.__('Comments')}},[_c('gl-icon',{staticClass:\"gl-mr-2\",attrs:{\"name\":\"comments\"}}),_vm._v(\"\\n            \"+_vm._s(_vm.notesCount)+\"\\n          \")],1)]):_vm._e()]}),_vm._v(\" \"),_vm._t(\"statistics\"),_vm._v(\" \"),(_vm.isOpen && _vm.filteredLinkedItems.length > 0)?_c('work-item-relationship-icons',{attrs:{\"work-item-type\":_vm.type,\"linked-work-items\":_vm.filteredLinkedItems,\"work-item-full-path\":_vm.workItemFullPath,\"work-item-iid\":_vm.issuableIid,\"work-item-web-url\":_vm.issuableLinkHref}}):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"gl-hidden sm:gl-flex sm:gl-flex-col sm:gl-items-end md:gl-flex-row md:gl-items-center\"},[_vm._t(\"health-status\"),_vm._v(\" \"),_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.bottom\",modifiers:{\"bottom\":true}}],staticClass:\"gl-text-subtle sm:gl-inline-block\",attrs:{\"title\":_vm.tooltipTitle(_vm.timestamp),\"data-testid\":\"issuable-timestamp\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.formattedTimestamp)+\"\\n      \")])],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_tabs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_tabs.vue?vue&type=script&lang=js\"","<script>\nimport { GlTabs, GlTab, GlBadge } from '@gitlab/ui';\nimport { numberToMetricPrefix } from '~/lib/utils/number_utils';\nimport { formatNumber } from '~/locale';\n\nexport default {\n  components: {\n    GlTabs,\n    GlTab,\n    GlBadge,\n  },\n  props: {\n    tabs: {\n      type: Array,\n      required: true,\n    },\n    tabCounts: {\n      type: Object,\n      required: false,\n      default: null,\n    },\n    currentTab: {\n      type: String,\n      required: true,\n    },\n    truncateCounts: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  methods: {\n    isTabActive(tabName) {\n      return tabName === this.currentTab;\n    },\n    isTabCountNumeric(tab) {\n      return Number.isInteger(this.tabCounts[tab.name]);\n    },\n    formatNumber(count) {\n      return this.truncateCounts ? numberToMetricPrefix(count) : formatNumber(count);\n    },\n  },\n};\n</script>\n\n<template>\n  <div class=\"top-area\">\n    <gl-tabs\n      class=\"mobile-separator issuable-state-filters gl-m-0 gl-flex gl-grow gl-p-0\"\n      nav-class=\"gl-border-b-0\"\n    >\n      <gl-tab\n        v-for=\"tab in tabs\"\n        :key=\"tab.id\"\n        :active=\"isTabActive(tab.name)\"\n        @click=\"$emit('click', tab.name)\"\n      >\n        <template #title>\n          <span :title=\"tab.titleTooltip\" :data-testid=\"`${tab.name}-issuables-tab`\">\n            {{ tab.title }}\n          </span>\n          <gl-badge\n            v-if=\"tabCounts && isTabCountNumeric(tab)\"\n            variant=\"muted\"\n            class=\"gl-tab-counter-badge\"\n          >\n            {{ formatNumber(tabCounts[tab.name]) }}\n          </gl-badge>\n        </template>\n      </gl-tab>\n    </gl-tabs>\n    <div class=\"nav-controls\">\n      <slot name=\"nav-actions\"></slot>\n    </div>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./issuable_tabs.vue?vue&type=template&id=4e93b1cc\"\nimport script from \"./issuable_tabs.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_tabs.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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"top-area\"},[_c('gl-tabs',{staticClass:\"mobile-separator issuable-state-filters gl-m-0 gl-flex gl-grow gl-p-0\",attrs:{\"nav-class\":\"gl-border-b-0\"}},_vm._l((_vm.tabs),function(tab){return _c('gl-tab',{key:tab.id,attrs:{\"active\":_vm.isTabActive(tab.name)},on:{\"click\":function($event){return _vm.$emit('click', tab.name)}},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{attrs:{\"title\":tab.titleTooltip,\"data-testid\":`${tab.name}-issuables-tab`}},[_vm._v(\"\\n          \"+_vm._s(tab.title)+\"\\n        \")]),_vm._v(\" \"),(_vm.tabCounts && _vm.isTabCountNumeric(tab))?_c('gl-badge',{staticClass:\"gl-tab-counter-badge\",attrs:{\"variant\":\"muted\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.formatNumber(_vm.tabCounts[tab.name]))+\"\\n        \")]):_vm._e()]},proxy:true}],null,true)})}),1),_vm._v(\" \"),_c('div',{staticClass:\"nav-controls\"},[_vm._t(\"nav-actions\")],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./issuable_grid.vue?vue&type=template&id=15ef99f1\"\nvar script = {}\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 render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlAlert, GlBadge, GlKeysetPagination, GlSkeletonLoader, GlPagination } from '@gitlab/ui';\nimport EmptyResult from '~/vue_shared/components/empty_result.vue';\nimport LocalStorageSync from '~/vue_shared/components/local_storage_sync.vue';\nimport PageSizeSelector from '~/vue_shared/components/page_size_selector.vue';\nimport { updateHistory, setUrlParams } from '~/lib/utils/url_utility';\nimport { __ } from '~/locale';\nimport { DRAG_DELAY } from '~/sortable/constants';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport FilteredSearchBar from '~/vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\n\nimport issuableEventHub from '~/issues/list/eventhub';\nimport { DEFAULT_SKELETON_COUNT, PAGE_SIZE_STORAGE_KEY } from '../constants';\nimport IssuableBulkEditSidebar from './issuable_bulk_edit_sidebar.vue';\nimport IssuableItem from './issuable_item.vue';\nimport IssuableTabs from './issuable_tabs.vue';\nimport IssuableGrid from './issuable_grid.vue';\n\nconst VueDraggable = () => import('vuedraggable');\n\nexport default {\n  vueDraggableAttributes: {\n    animation: 200,\n    forceFallback: true,\n    ghostClass: 'gl-invisible',\n    tag: 'ul',\n    delay: DRAG_DELAY,\n    delayOnTouchOnly: true,\n  },\n  components: {\n    GlAlert,\n    GlBadge,\n    GlKeysetPagination,\n    GlSkeletonLoader,\n    IssuableTabs,\n    FilteredSearchBar,\n    IssuableItem,\n    IssuableGrid,\n    IssuableBulkEditSidebar,\n    GlPagination,\n    VueDraggable,\n    PageSizeSelector,\n    LocalStorageSync,\n    EmptyResult,\n  },\n  mixins: [glFeatureFlagMixin()],\n  props: {\n    namespace: {\n      type: String,\n      required: true,\n    },\n    fullPath: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    recentSearchesStorageKey: {\n      type: String,\n      required: true,\n    },\n    searchInputPlaceholder: {\n      type: String,\n      required: false,\n      default: __('Search or filter results…'),\n    },\n    searchTokens: {\n      type: Array,\n      required: true,\n    },\n    sortOptions: {\n      type: Array,\n      required: true,\n    },\n    urlParams: {\n      type: Object,\n      required: false,\n      default: () => ({}),\n    },\n    initialFilterValue: {\n      type: Array,\n      required: false,\n      default: () => [],\n    },\n    initialSortBy: {\n      type: String,\n      required: false,\n      default: 'created_desc',\n    },\n    issuables: {\n      type: Array,\n      required: true,\n    },\n    tabs: {\n      type: Array,\n      required: true,\n    },\n    tabCounts: {\n      type: Object,\n      required: false,\n      default: null,\n    },\n    truncateCounts: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    currentTab: {\n      type: String,\n      required: true,\n    },\n    issuableSymbol: {\n      type: String,\n      required: false,\n      default: '#',\n    },\n    issuablesLoading: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showPaginationControls: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showBulkEditSidebar: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    defaultPageSize: {\n      type: Number,\n      required: false,\n      default: 20,\n    },\n    totalItems: {\n      type: Number,\n      required: false,\n      default: 0,\n    },\n    currentPage: {\n      type: Number,\n      required: false,\n      default: 1,\n    },\n    previousPage: {\n      type: Number,\n      required: false,\n      default: 0,\n    },\n    nextPage: {\n      type: Number,\n      required: false,\n      default: 2,\n    },\n    hasScopedLabelsFeature: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    labelFilterParam: {\n      type: String,\n      required: false,\n      default: undefined,\n    },\n    isManualOrdering: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    useKeysetPagination: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    hasNextPage: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    hasPreviousPage: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    error: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    syncFilterAndSort: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showFilteredSearchFriendlyText: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showPageSizeSelector: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showWorkItemTypeIcon: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    isGridView: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    activeIssuable: {\n      type: Object,\n      required: false,\n      default: null,\n    },\n    preventRedirect: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    issuableItemClass: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  data() {\n    return {\n      checkedIssuableIds: [],\n    };\n  },\n  computed: {\n    skeletonItemCount() {\n      const { totalItems, defaultPageSize, currentPage } = this;\n      const totalPages = Math.ceil(totalItems / defaultPageSize);\n\n      if (totalPages) {\n        return currentPage < totalPages\n          ? defaultPageSize\n          : totalItems % defaultPageSize || defaultPageSize;\n      }\n      return DEFAULT_SKELETON_COUNT;\n    },\n    allIssuablesChecked() {\n      return this.checkedIssuables.length === this.issuables.length;\n    },\n    checkedIssuables() {\n      return this.issuables.filter((issuable) => this.checkedIssuableIds.includes(issuable.id));\n    },\n    issuablesWrapper() {\n      return this.isManualOrdering ? VueDraggable : 'ul';\n    },\n    gridViewFeatureEnabled() {\n      return Boolean(this.glFeatures?.issuesGridView);\n    },\n    hasItems() {\n      return this.issuables.length > 0;\n    },\n  },\n  watch: {\n    urlParams: {\n      deep: true,\n      immediate: true,\n      handler(params) {\n        if (Object.keys(params).length) {\n          updateHistory({\n            url: setUrlParams(params, window.location.href, true, false, true),\n            title: document.title,\n            replace: true,\n          });\n        }\n      },\n    },\n    showBulkEditSidebar() {\n      this.checkedIssuableIds = [];\n    },\n  },\n  methods: {\n    isIssuableChecked(issuable) {\n      return this.checkedIssuableIds.includes(issuable.id);\n    },\n    updateCheckedIssuableIds(issuable, toCheck) {\n      const isIdChecked = this.checkedIssuableIds.includes(issuable.id);\n      if (toCheck && !isIdChecked) {\n        this.checkedIssuableIds.push(issuable.id);\n      }\n      if (!toCheck && isIdChecked) {\n        const indexToDelete = this.checkedIssuableIds.findIndex((id) => id === issuable.id);\n        this.checkedIssuableIds.splice(indexToDelete, 1);\n      }\n    },\n    handleIssuableCheckedInput(issuable, value) {\n      this.updateCheckedIssuableIds(issuable, value);\n\n      this.$emit('update-legacy-bulk-edit');\n      issuableEventHub.$emit('issuables:issuableChecked', issuable, value);\n    },\n    handleAllIssuablesCheckedInput(value) {\n      this.issuables.forEach((issuable) => this.updateCheckedIssuableIds(issuable, value));\n\n      this.$emit('update-legacy-bulk-edit');\n    },\n    handleVueDraggableUpdate({ newIndex, oldIndex }) {\n      this.$emit('reorder', { newIndex, oldIndex });\n    },\n    handlePageSizeChange(newPageSize) {\n      this.$emit('page-size-change', newPageSize);\n    },\n    isIssuableActive(issuable) {\n      return Boolean(\n        getIdFromGraphQLId(issuable.id) === getIdFromGraphQLId(this.activeIssuable?.id),\n      );\n    },\n  },\n  PAGE_SIZE_STORAGE_KEY,\n};\n</script>\n\n<template>\n  <div class=\"issuable-list-container\">\n    <issuable-tabs\n      :tabs=\"tabs\"\n      :tab-counts=\"tabCounts\"\n      :current-tab=\"currentTab\"\n      :truncate-counts=\"truncateCounts\"\n      @click=\"$emit('click-tab', $event)\"\n    >\n      <template #nav-actions>\n        <slot name=\"nav-actions\"></slot>\n      </template>\n    </issuable-tabs>\n    <filtered-search-bar\n      :namespace=\"namespace\"\n      :recent-searches-storage-key=\"recentSearchesStorageKey\"\n      :search-input-placeholder=\"searchInputPlaceholder\"\n      :tokens=\"searchTokens\"\n      :sort-options=\"sortOptions\"\n      :initial-filter-value=\"initialFilterValue\"\n      :initial-sort-by=\"initialSortBy\"\n      :sync-filter-and-sort=\"syncFilterAndSort\"\n      :show-checkbox=\"showBulkEditSidebar\"\n      :checkbox-checked=\"allIssuablesChecked\"\n      :show-friendly-text=\"showFilteredSearchFriendlyText\"\n      terms-as-tokens\n      class=\"row-content-block gl-grow gl-border-t-0 sm:gl-flex\"\n      data-testid=\"issuable-search-container\"\n      @checked-input=\"handleAllIssuablesCheckedInput\"\n      @onFilter=\"$emit('filter', $event)\"\n      @onSort=\"$emit('sort', $event)\"\n    />\n    <gl-alert\n      v-if=\"error\"\n      variant=\"danger\"\n      :class=\"{ 'gl-mt-5': !hasItems && !issuablesLoading }\"\n      :dismissible=\"hasItems\"\n      @dismiss=\"$emit('dismiss-alert')\"\n    >\n      {{ error }}\n    </gl-alert>\n    <issuable-bulk-edit-sidebar :expanded=\"showBulkEditSidebar\">\n      <template #bulk-edit-actions>\n        <slot name=\"bulk-edit-actions\" :checked-issuables=\"checkedIssuables\"></slot>\n      </template>\n      <template #sidebar-items>\n        <slot name=\"sidebar-items\" :checked-issuables=\"checkedIssuables\"></slot>\n      </template>\n    </issuable-bulk-edit-sidebar>\n    <slot name=\"list-body\"></slot>\n    <ul v-if=\"issuablesLoading\" class=\"content-list\">\n      <li v-for=\"n in skeletonItemCount\" :key=\"n\" class=\"issue !gl-px-5 !gl-py-5\">\n        <gl-skeleton-loader />\n      </li>\n    </ul>\n    <template v-else>\n      <component\n        :is=\"issuablesWrapper\"\n        v-if=\"issuables.length > 0 && !isGridView\"\n        class=\"content-list issuable-list issues-list\"\n        :class=\"{ 'manual-ordering': isManualOrdering }\"\n        v-bind=\"$options.vueDraggableAttributes\"\n        @update=\"handleVueDraggableUpdate\"\n      >\n        <issuable-item\n          v-for=\"issuable in issuables\"\n          :key=\"issuable.id\"\n          :class=\"[{ 'gl-cursor-grab': isManualOrdering }, issuableItemClass]\"\n          data-testid=\"issuable-container\"\n          :data-qa-issuable-title=\"issuable.title\"\n          :has-scoped-labels-feature=\"hasScopedLabelsFeature\"\n          :issuable-symbol=\"issuableSymbol\"\n          :issuable=\"issuable\"\n          :label-filter-param=\"labelFilterParam\"\n          :full-path=\"fullPath\"\n          :show-checkbox=\"showBulkEditSidebar\"\n          :checked=\"isIssuableChecked(issuable)\"\n          :show-work-item-type-icon=\"showWorkItemTypeIcon\"\n          :prevent-redirect=\"preventRedirect\"\n          :is-active=\"isIssuableActive(issuable)\"\n          @checked-input=\"handleIssuableCheckedInput(issuable, $event)\"\n          @select-issuable=\"$emit('select-issuable', $event)\"\n        >\n          <template #reference>\n            <slot name=\"reference\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #author>\n            <slot name=\"author\" :author=\"issuable.author\"></slot>\n          </template>\n          <template #timeframe>\n            <slot name=\"timeframe\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #target-branch>\n            <slot name=\"target-branch\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #status>\n            <slot name=\"status\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #statistics>\n            <slot name=\"statistics\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #approval-status>\n            <slot name=\"approval-status\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #pipeline-status>\n            <slot name=\"pipeline-status\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #reviewers>\n            <slot name=\"reviewers\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #title-icons>\n            <slot name=\"title-icons\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #discussions>\n            <slot name=\"discussions\" :issuable=\"issuable\"></slot>\n          </template>\n          <template #health-status>\n            <slot name=\"health-status\" :issuable=\"issuable\"></slot>\n          </template>\n        </issuable-item>\n      </component>\n      <div v-else-if=\"issuables.length > 0 && isGridView\">\n        <issuable-grid />\n      </div>\n      <empty-result v-else-if=\"initialFilterValue.length > 0\" />\n      <slot v-else-if=\"!error\" name=\"empty-state\"></slot>\n    </template>\n\n    <div class=\"gl-relative gl-mt-6 gl-flex gl-justify-between md:!gl-justify-center\">\n      <gl-keyset-pagination\n        v-if=\"showPaginationControls && useKeysetPagination\"\n        :has-next-page=\"hasNextPage\"\n        :has-previous-page=\"hasPreviousPage\"\n        @next=\"$emit('next-page')\"\n        @prev=\"$emit('previous-page')\"\n      />\n      <gl-pagination\n        v-else-if=\"showPaginationControls\"\n        :per-page=\"defaultPageSize\"\n        :total-items=\"totalItems\"\n        :value=\"currentPage\"\n        :prev-page=\"previousPage\"\n        :next-page=\"nextPage\"\n        align=\"center\"\n        class=\"gl-pagination gl-mt-3\"\n        @input=\"$emit('page-change', $event)\"\n      />\n\n      <local-storage-sync\n        v-if=\"showPageSizeSelector\"\n        :value=\"defaultPageSize\"\n        :storage-key=\"$options.PAGE_SIZE_STORAGE_KEY\"\n        @input=\"handlePageSizeChange\"\n      >\n        <page-size-selector\n          :value=\"defaultPageSize\"\n          class=\"gl-relative gl-right-0 md:gl-absolute\"\n          @input=\"handlePageSizeChange\"\n        />\n      </local-storage-sync>\n    </div>\n  </div>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_list_root.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_list_root.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./issuable_list_root.vue?vue&type=template&id=a8c4ebc6\"\nimport script from \"./issuable_list_root.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_list_root.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 GlButton from '../button/button';\nimport GlButtonGroup from '../button_group/button_group';\nimport GlIcon from '../icon/icon';\nimport { translate } from '../../../utils/i18n';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n  name: 'GlKeysetPagination',\n  components: {\n    GlButtonGroup,\n    GlButton,\n    GlIcon\n  },\n  inheritAttrs: false,\n  props: {\n    // The following 4 properties match the default names of the\n    // [PageInfo](https://docs.gitlab.com/ee/api/graphql/reference/index.html#pageinfo)\n    // GraphQL type, allowing the returned `pageInfo` object to\n    // be bound directly to this component:\n    // `<gl-keyset-pagination v-bind=\"pageInfo\">`\n    /**\n     * Whether or not the \"Prev\" button should be enabled\n     */\n    hasPreviousPage: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    /**\n     * Whether or not the \"Next\" button should be enabled\n     */\n    hasNextPage: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    /**\n     * A cursor that points to the first item in the current page.\n     * Will be passed as an event parameter when the \"prev\" event is fired.\n     */\n    startCursor: {\n      type: String,\n      required: false,\n      default: null\n    },\n    /**\n     * A cursor that points to the last item in the current page.\n     * Will be passed as an event parameter when the \"next\" event is fired.\n     */\n    endCursor: {\n      type: String,\n      required: false,\n      default: null\n    },\n    /**\n     * The text that will be rendered inside the \"Previous\" button.\n     * It's important to provide this parameter since the default text is not translatable.\n     */\n    prevText: {\n      type: String,\n      required: false,\n      default: () => translate('GlKeysetPagination.prevText', 'Previous')\n    },\n    /**\n     * A link that will be used as the \"Prev\" button\\'s \"href\" attribute.\n     * If provided, the \"Prev\" button renders as a link button; otherwise, it is rendered as a regular button.\n     */\n    prevButtonLink: {\n      type: String,\n      required: false,\n      default: null\n    },\n    /**\n     * The aria-label that needs to be set for the\n     * pagination landmark region.\n     */\n    navigationLabel: {\n      type: String,\n      required: false,\n      default: () => translate('GlKeysetPagination.navigationLabel', 'Pagination')\n    },\n    /**\n     * The text that will be rendered inside the \"Next\" button.\n     * It's important to provide this parameter since the default text is not translatable.\n     */\n    nextText: {\n      type: String,\n      required: false,\n      default: () => translate('GlKeysetPagination.nextText', 'Next')\n    },\n    /**\n     * A link that will be used as the \"Next\" button\\'s \"href\" attribute.\n     * If provided, the \"Next\" button renders as a link button; otherwise, it is rendered as a regular button.\n     */\n    nextButtonLink: {\n      type: String,\n      required: false,\n      default: null\n    },\n    /**\n     * Whether or not both buttons should be disabled (regardless of the \"hasPreviousPage\" and \"hasNextPage\" values).\n     */\n    disabled: {\n      type: Boolean,\n      required: false,\n      default: false\n    }\n  },\n  computed: {\n    isVisible() {\n      return this.hasPreviousPage || this.hasNextPage;\n    }\n  }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVisible)?_c('nav',{staticClass:\"gl-pagination\",attrs:{\"aria-label\":_vm.navigationLabel}},[_c('gl-button-group',_vm._g(_vm._b({staticClass:\"gl-keyset-pagination\"},'gl-button-group',_vm.$attrs,false),_vm.$listeners),[_c('gl-button',{attrs:{\"href\":_vm.prevButtonLink,\"disabled\":_vm.disabled || !_vm.hasPreviousPage,\"data-testid\":\"prevButton\",\"category\":\"tertiary\"},on:{\"click\":function($event){return _vm.$emit('prev', _vm.startCursor)}}},[_vm._t(\"previous-button-content\",function(){return [_c('div',{staticClass:\"gl-align-center gl-flex\"},[_c('gl-icon',{attrs:{\"name\":\"chevron-left\"}}),_vm._v(\"\\n          \"+_vm._s(_vm.prevText)+\"\\n        \")],1)]})],2),_vm._v(\" \"),_c('gl-button',{attrs:{\"href\":_vm.nextButtonLink,\"disabled\":_vm.disabled || !_vm.hasNextPage,\"data-testid\":\"nextButton\",\"category\":\"tertiary\"},on:{\"click\":function($event){return _vm.$emit('next', _vm.endCursor)}}},[_vm._t(\"next-button-content\",function(){return [_c('div',{staticClass:\"gl-align-center gl-flex\"},[_vm._v(\"\\n          \"+_vm._s(_vm.nextText)+\"\\n          \"),_c('gl-icon',{attrs:{\"name\":\"chevron-right\"}})],1)]})],2)],1)],1):_vm._e()};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',[_c('work-item-attribute',{staticClass:\"issuable-milestone gl-mr-3\",attrs:{\"anchor-id\":\"issuable-milestone\",\"title\":_vm.milestone.title,\"wrapper-component-class\":\"gl-text-sm !gl-text-subtle\",\"tooltip-text\":_vm.milestoneDate,\"tooltip-placement\":\"top\",\"is-link\":\"\",\"href\":_vm.milestoneLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('gl-icon',{attrs:{\"name\":\"milestone\",\"size\":12}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_milestone.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_milestone.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon } from '@gitlab/ui';\nimport {\n  getTimeRemainingInWords,\n  isInFuture,\n  isInPast,\n  isToday,\n  localeDateFormat,\n  newDate,\n} from '~/lib/utils/datetime_utility';\nimport { __ } from '~/locale';\nimport WorkItemAttribute from '~/vue_shared/components/work_item_attribute.vue';\n\nexport default {\n  name: 'IssuableMilestone',\n  components: {\n    WorkItemAttribute,\n    GlIcon,\n  },\n  props: {\n    milestone: {\n      type: Object,\n      required: true,\n    },\n  },\n  computed: {\n    milestoneDate() {\n      if (this.milestone.dueDate) {\n        const { dueDate, startDate } = this.milestone;\n        const date = localeDateFormat.asDate.format(newDate(dueDate));\n        const remainingTime = this.milestoneRemainingTime(dueDate, startDate);\n\n        return `${date} (${remainingTime})`;\n      }\n\n      return __('Milestone');\n    },\n    milestoneLink() {\n      return this.milestone.webPath || this.milestone.webUrl;\n    },\n  },\n  methods: {\n    milestoneRemainingTime(dueDate, startDate) {\n      const due = newDate(dueDate);\n      const start = newDate(startDate);\n\n      if (dueDate && isInPast(due)) {\n        return __('past due');\n      }\n      if (dueDate && isToday(due)) {\n        return __('today');\n      }\n      if (startDate && isInFuture(start)) {\n        return __('upcoming');\n      }\n      if (dueDate) {\n        return getTimeRemainingInWords(due);\n      }\n\n      return '';\n    },\n  },\n};\n</script>\n\n<template>\n  <span>\n    <work-item-attribute\n      anchor-id=\"issuable-milestone\"\n      :title=\"milestone.title\"\n      wrapper-component-class=\"gl-text-sm !gl-text-subtle\"\n      :tooltip-text=\"milestoneDate\"\n      tooltip-placement=\"top\"\n      class=\"issuable-milestone gl-mr-3\"\n      is-link\n      :href=\"milestoneLink\"\n    >\n      <template #icon>\n        <gl-icon name=\"milestone\" :size=\"12\" />\n      </template>\n    </work-item-attribute>\n  </span>\n</template>\n","import { render, staticRenderFns } from \"./issuable_milestone.vue?vue&type=template&id=161e0062\"\nimport script from \"./issuable_milestone.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_milestone.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 {\n  TOKEN_TYPE_APPROVED_BY,\n  TOKEN_TYPE_MERGE_USER,\n  TOKEN_TYPE_ASSIGNEE,\n  TOKEN_TYPE_AUTHOR,\n  TOKEN_TYPE_REVIEWER,\n} from '~/vue_shared/components/filtered_search_bar/constants';\n\nexport const USER_TOKEN_TYPES = [\n  TOKEN_TYPE_AUTHOR,\n  TOKEN_TYPE_ASSIGNEE,\n  TOKEN_TYPE_APPROVED_BY,\n  TOKEN_TYPE_MERGE_USER,\n  TOKEN_TYPE_REVIEWER,\n  'attention',\n];\n\nexport const DROPDOWN_TYPE = {\n  hint: 'hint',\n  operator: 'operator',\n};\n\nexport const FILTER_TYPE = {\n  none: 'none',\n  any: 'any',\n};\n\nexport const MAX_HISTORY_SIZE = 5;\n\nexport const FILTERED_SEARCH = {\n  MERGE_REQUESTS: 'merge_requests',\n  ISSUES: 'issues',\n};\n","import searchProjectsQuery from './queries/search_projects.query.graphql';\n\nexport const hasNewIssueDropdown = () => ({\n  inject: ['fullPath'],\n  computed: {\n    newIssueDropdownQueryVariables() {\n      return {\n        fullPath: this.fullPath,\n      };\n    },\n  },\n  methods: {\n    extractProjects(data) {\n      return data?.group?.projects?.nodes;\n    },\n  },\n  searchProjectsQuery,\n});\n","import debounce from 'lodash/debounce';\nimport isFunction from 'lodash/isFunction';\nimport range from 'lodash/range';\nimport { breakpoints, GlBreakpointInstance } from '../../../utils/breakpoints';\nimport { alignOptions, resizeDebounceTime } from '../../../utils/constants';\nimport { translate, sprintf } from '../../../utils/i18n';\nimport GlIcon from '../icon/icon';\nimport GlLink from '../link/link';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nconst pageRange = (from, to) => range(from, to + 1, 1);\nvar script = {\n  name: 'Pagination',\n  components: {\n    GlLink,\n    GlIcon\n  },\n  model: {\n    prop: 'value',\n    event: 'input'\n  },\n  props: {\n    value: {\n      type: Number,\n      required: false,\n      default: 1,\n      validator: x => x > 0\n    },\n    /**\n     * Number of items per page\n     */\n    perPage: {\n      type: Number,\n      required: false,\n      default: 20,\n      validator: x => x > 0\n    },\n    /**\n     * Total number of items\n     */\n    totalItems: {\n      type: Number,\n      required: false,\n      default: 0\n    },\n    /**\n     * The object must contain the xs, sm, md and default keys\n     */\n    limits: {\n      type: Object,\n      required: false,\n      default: () => ({\n        xs: 0,\n        sm: 3,\n        md: 9,\n        default: 9\n      }),\n      validator: value => {\n        const missingSizes = Object.keys(breakpoints).filter(size => !value[size]).length;\n        return missingSizes === 0 ? true : value.default;\n      }\n    },\n    /**\n     * A function that receives the page number and that returns a string representing the page URL\n     */\n    linkGen: {\n      type: Function,\n      required: false,\n      default: null\n    },\n    /**\n     * When using the compact pagination, use this prop to pass the previous page number\n     */\n    prevPage: {\n      type: Number,\n      required: false,\n      default: null\n    },\n    /**\n     * Text for the previous button (overridden by \"previous\" slot)\n     */\n    prevText: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.prevText', 'Previous')\n    },\n    /**\n     * When using the compact pagination, use this prop to pass the next page number\n     */\n    nextPage: {\n      type: Number,\n      required: false,\n      default: null\n    },\n    /**\n     * Text for the next button (overridden by \"next\" slot)\n     */\n    nextText: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.nextText', 'Next')\n    },\n    /**\n     * Text for the ellipsis (overridden by \"ellipsis-left\" and \"ellipsis-right\" slots)\n     */\n    ellipsisText: {\n      type: String,\n      required: false,\n      default: '…'\n    },\n    /**\n     * aria-label for the nav\n     */\n    labelNav: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.nav', 'Pagination')\n    },\n    /**\n     * aria-label for the first page item\n     */\n    labelFirstPage: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.labelFirstPage', 'Go to first page')\n    },\n    /**\n     * aria-label for the previous page item\n     */\n    labelPrevPage: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.labelPrevPage', 'Go to previous page')\n    },\n    /**\n     * aria-label for the next page item\n     */\n    labelNextPage: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.labelNextPage', 'Go to next page')\n    },\n    /**\n     * aria-label for the last page item\n     */\n    labelLastPage: {\n      type: String,\n      required: false,\n      default: translate('GlPagination.labelLastPage', 'Go to last page')\n    },\n    /**\n     * aria-label getter for numbered page items, defaults to \"Go to page <page_number>\"\n     */\n    labelPage: {\n      // note: `Function` support is for legacy reasons\n      type: [Function, String],\n      required: false,\n      default: translate('GlPagination.labelPage', 'Go to page %{page}')\n    },\n    /**\n     * Controls the component\\'s horizontal alignment, value should be one of \"left\", \"center\", \"right\" or \"fill\"\n     */\n    align: {\n      type: String,\n      required: false,\n      default: alignOptions.left,\n      validator: value => Object.keys(alignOptions).includes(value)\n    },\n    disabled: {\n      type: Boolean,\n      required: false,\n      default: false\n    }\n  },\n  data() {\n    return {\n      breakpoint: GlBreakpointInstance.getBreakpointSize(),\n      // If total pages count is below or equal to minTotalPagesToCollapse, collapsing is disabled\n      minTotalPagesToCollapse: 4\n    };\n  },\n  computed: {\n    isVisible() {\n      return this.totalPages > 1 || this.isCompactPagination;\n    },\n    isLinkBased() {\n      return isFunction(this.linkGen);\n    },\n    paginationLimit() {\n      return typeof this.limits[this.breakpoint] !== 'undefined' ? this.limits[this.breakpoint] : this.limits.default;\n    },\n    maxAdjacentPages() {\n      return Math.max(Math.ceil((this.paginationLimit - 1) / 2), 0);\n    },\n    totalPages() {\n      return Math.ceil(this.totalItems / this.perPage);\n    },\n    isFillAlign() {\n      return this.align === alignOptions.fill;\n    },\n    wrapperClasses() {\n      const classes = [];\n      if (this.align === alignOptions.center) {\n        classes.push('gl-justify-center');\n      }\n      if (this.align === alignOptions.right) {\n        classes.push('gl-justify-end');\n      }\n      if (this.isFillAlign) {\n        classes.push('gl-text-center');\n      }\n      return classes;\n    },\n    shouldCollapseLeftSide() {\n      const diff = this.value - this.maxAdjacentPages;\n\n      // Magic 3: prevents collapsing a single page on the left side\n      return diff >= this.maxAdjacentPages && diff > 3 && this.totalPages > this.minTotalPagesToCollapse;\n    },\n    shouldCollapseRightSide() {\n      // Magic 2: prevents collapsing a single page on the right side\n      const diff = this.totalPages - 2 - this.value;\n      return diff > this.maxAdjacentPages && this.totalPages > this.minTotalPagesToCollapse;\n    },\n    visibleItems() {\n      let items = [];\n      if (!this.isCompactPagination) {\n        let firstPage = this.shouldCollapseLeftSide ? this.value - this.maxAdjacentPages : 1;\n        // If we're on last page, show at least one page to the left\n        firstPage = Math.min(firstPage, this.totalPages - 1);\n        let lastPage = this.shouldCollapseRightSide ? this.value + this.maxAdjacentPages : this.totalPages;\n        // If we're on first page, show at least one page to the right\n        lastPage = Math.max(lastPage, 2);\n\n        // Default numbered items\n        items = pageRange(firstPage, lastPage).map(page => this.getPageItem(page));\n        if (this.shouldCollapseLeftSide) {\n          items.splice(0, 0, this.getPageItem(1, this.labelFirstPage), this.getEllipsisItem('left'));\n        }\n        if (this.shouldCollapseRightSide) {\n          items.push(this.getEllipsisItem('right'), this.getPageItem(this.totalPages, this.labelLastPage));\n        }\n      }\n      return items;\n    },\n    isCompactPagination() {\n      return Boolean(!this.totalItems && (this.prevPage || this.nextPage));\n    },\n    prevPageIsDisabled() {\n      return this.pageIsDisabled(this.value - 1);\n    },\n    nextPageIsDisabled() {\n      return this.pageIsDisabled(this.value + 1);\n    },\n    prevPageAriaLabel() {\n      return this.prevPageIsDisabled ? false : this.labelPrevPage || this.labelForPage(this.value - 1);\n    },\n    nextPageAriaLabel() {\n      return this.nextPageIsDisabled ? false : this.labelNextPage || this.labelForPage(this.value + 1);\n    },\n    prevPageHref() {\n      if (this.prevPageIsDisabled) return false;\n      if (this.isLinkBased) return this.linkGen(this.value - 1);\n      return '#';\n    },\n    nextPageHref() {\n      if (this.nextPageIsDisabled) return false;\n      if (this.isLinkBased) return this.linkGen(this.value + 1);\n      return '#';\n    }\n  },\n  created() {\n    window.addEventListener('resize', debounce(this.setBreakpoint, resizeDebounceTime));\n  },\n  beforeDestroy() {\n    window.removeEventListener('resize', debounce(this.setBreakpoint, resizeDebounceTime));\n  },\n  methods: {\n    labelForPage(page) {\n      if (isFunction(this.labelPage)) {\n        return this.labelPage(page);\n      }\n      return sprintf(this.labelPage, {\n        page\n      });\n    },\n    setBreakpoint() {\n      this.breakpoint = GlBreakpointInstance.getBreakpointSize();\n    },\n    pageIsDisabled(page) {\n      return this.disabled || page < 1 || this.isCompactPagination && page > this.value && !this.nextPage || !this.isCompactPagination && page > this.totalPages;\n    },\n    getPageItem(page) {\n      let label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      const commonAttrs = {\n        'aria-label': label || this.labelForPage(page),\n        href: '#',\n        class: []\n      };\n      const isActivePage = page === this.value;\n      const isDisabled = this.pageIsDisabled(page);\n      const attrs = {\n        ...commonAttrs\n      };\n      const listeners = {};\n      if (isActivePage) {\n        attrs.class.push('active');\n        attrs['aria-current'] = 'page';\n      }\n      // Disable previous and/or next buttons if needed\n      if (this.isLinkBased) {\n        attrs.href = this.linkGen(page);\n      }\n      listeners.click = e => this.handleClick(e, page);\n      return {\n        content: page,\n        component: isDisabled ? 'span' : GlLink,\n        disabled: isDisabled,\n        key: `page_${page}`,\n        slot: 'page-number',\n        slotData: {\n          page,\n          active: isActivePage,\n          disabled: isDisabled\n        },\n        attrs,\n        listeners\n      };\n    },\n    getEllipsisItem(side) {\n      return {\n        content: this.ellipsisText,\n        key: `ellipsis_${side}`,\n        slot: `ellipsis-${side}`,\n        component: 'span',\n        disabled: true,\n        slotData: {},\n        listeners: {}\n      };\n    },\n    handleClick(event, value) {\n      if (!this.isLinkBased) {\n        event.preventDefault();\n        /**\n         * Emitted when the page changes\n         * @event input\n         * @arg {number} value The page that just got loaded\n         */\n        this.$emit('input', value);\n      }\n    },\n    handlePrevious(event, value) {\n      this.handleClick(event, value);\n      /**\n       * Emitted when the \"previous\" button is clicked\n       * @event previous\n       */\n      this.$emit('previous');\n    },\n    handleNext(event, value) {\n      this.handleClick(event, value);\n      /**\n       * Emitted when the \"next\" button is clicked\n       * @event next\n       */\n      this.$emit('next');\n    }\n  }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVisible)?_c('nav',{staticClass:\"gl-pagination\",attrs:{\"aria-label\":_vm.labelNav}},[_c('ul',{class:_vm.wrapperClasses},[_c('li',{class:{\n        disabled: _vm.prevPageIsDisabled,\n        'gl-flex-auto': _vm.isFillAlign,\n      },attrs:{\"aria-disabled\":_vm.prevPageIsDisabled,\"aria-hidden\":_vm.prevPageIsDisabled,\"data-testid\":\"gl-pagination-li\"}},[_c(_vm.prevPageIsDisabled ? 'span' : 'a',{tag:\"component\",staticClass:\"gl-pagination-item\",attrs:{\"data-testid\":\"gl-pagination-prev\",\"aria-label\":_vm.prevPageAriaLabel,\"href\":_vm.prevPageHref},on:{\"click\":function($event){!_vm.prevPageIsDisabled ? _vm.handlePrevious($event, _vm.value - 1) : null;}}},[_vm._t(\"previous\",function(){return [_c('gl-icon',{attrs:{\"name\":\"chevron-left\"}}),_vm._v(\" \"),_c('span',{staticClass:\"gl-hidden sm:gl-block\"},[_vm._v(_vm._s(_vm.prevText))])]},null,{ page: _vm.value - 1, disabled: _vm.prevPageIsDisabled })],2)],1),_vm._v(\" \"),_vm._l((_vm.visibleItems),function(item){return _c('li',{key:item.key,class:{\n        disabled: item.disabled,\n        'gl-flex-auto': _vm.isFillAlign,\n      },attrs:{\"data-testid\":\"gl-pagination-li\"}},[_c(item.component,_vm._g(_vm._b({tag:\"component\",staticClass:\"gl-pagination-item\",attrs:{\"data-testid\":\"gl-pagination-item\",\"size\":\"md\",\"aria-disabled\":item.disabled}},'component',item.attrs,false),item.listeners),[_vm._t(item.slot,function(){return [_vm._v(_vm._s(item.content))]},null,item.slotData)],2)],1)}),_vm._v(\" \"),_c('li',{class:{\n        disabled: _vm.nextPageIsDisabled,\n        'gl-flex-auto': _vm.isFillAlign,\n      },attrs:{\"aria-disabled\":_vm.nextPageIsDisabled,\"aria-hidden\":_vm.nextPageIsDisabled,\"data-testid\":\"gl-pagination-li\"}},[_c(_vm.nextPageIsDisabled ? 'span' : 'a',{tag:\"component\",staticClass:\"gl-pagination-item\",attrs:{\"data-testid\":\"gl-pagination-next\",\"aria-label\":_vm.nextPageAriaLabel,\"href\":_vm.nextPageHref},on:{\"click\":function($event){!_vm.nextPageIsDisabled ? _vm.handleNext($event, _vm.value + 1) : null;}}},[_vm._t(\"next\",function(){return [_c('span',{staticClass:\"gl-hidden sm:gl-block\"},[_vm._v(_vm._s(_vm.nextText))]),_vm._v(\" \"),_c('gl-icon',{attrs:{\"name\":\"chevron-right\"}})]},null,{ page: _vm.value + 1, disabled: _vm.nextPageIsDisabled })],2)],1)],2)]):_vm._e()};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","import $ from 'jquery';\n\nexport const canScroll = () => $(document).height() > $(window).height();\n\n/**\n * Checks if the entire page is scrolled down all the way to the bottom\n *  @returns {Boolean}\n */\nexport const isScrolledToBottom = () => {\n  // Use clientHeight to account for any horizontal scrollbar.\n  const { scrollHeight, scrollTop, clientHeight } = document.documentElement;\n\n  // scrollTop can be a float, so round up to next integer.\n  return Math.ceil(scrollTop + clientHeight) >= scrollHeight;\n};\n\n/**\n * Checks if page is scrolled to the top\n * @returns {Boolean}\n */\nexport const isScrolledToTop = () => $(document).scrollTop() === 0;\n\nexport const scrollDown = () => {\n  const $document = $(document);\n  $document.scrollTop($document.height());\n};\n\nexport const scrollUp = () => {\n  $(document).scrollTop(0);\n};\n","import { __ } from '~/locale';\n\nexport const RESOURCE_TYPE_ISSUE = 'issue';\nexport const RESOURCE_TYPE_MERGE_REQUEST = 'merge-request';\nexport const RESOURCE_TYPE_MILESTONE = 'milestone';\n\nexport const RESOURCE_TYPES = [\n  RESOURCE_TYPE_ISSUE,\n  RESOURCE_TYPE_MERGE_REQUEST,\n  RESOURCE_TYPE_MILESTONE,\n];\n\nexport const RESOURCE_OPTIONS = {\n  [RESOURCE_TYPE_ISSUE]: {\n    path: 'issues/new',\n    label: __('issue'),\n  },\n  [RESOURCE_TYPE_MERGE_REQUEST]: {\n    path: 'merge_requests/new',\n    label: __('merge request'),\n  },\n  [RESOURCE_TYPE_MILESTONE]: {\n    path: 'milestones/new',\n    label: __('milestone'),\n  },\n};\n","export const RECENT_SEARCHES_STORAGE_KEY_GROUPS = 'groups';\nexport const RECENT_SEARCHES_STORAGE_KEY_PROJECTS = 'projects';\n\nexport default {\n  issues: 'issue-recent-searches',\n  merge_requests: 'merge-request-recent-searches',\n  group_members: 'group-members-recent-searches',\n  group_invited_members: 'group-invited-members-recent-searches',\n  project_members: 'project-members-recent-searches',\n  project_group_links: 'project-group-links-recent-searches',\n  [RECENT_SEARCHES_STORAGE_KEY_GROUPS]: 'groups-recent-searches',\n  [RECENT_SEARCHES_STORAGE_KEY_PROJECTS]: 'projects-recent-searches',\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.issuesDrawerEnabled)?_c('work-item-drawer',{attrs:{\"open\":_vm.isIssuableSelected,\"active-item\":_vm.activeIssuable,\"issuable-type\":_vm.$options.issuableType,\"click-outside-exclude-selector\":\".issuable-list\"},on:{\"close\":function($event){_vm.activeIssuable = null},\"work-item-updated\":_vm.updateIssuablesCache,\"work-item-emoji-updated\":_vm.updateIssuableEmojis,\"addChild\":_vm.refetchIssuables,\"deleteWorkItemError\":function($event){_vm.issuesError = _vm.__('An error occurred while deleting an issuable.')},\"workItemDeleted\":_vm.deleteIssuable,\"promotedToObjective\":_vm.promoteToObjective,\"workItemTypeChanged\":function($event){return _vm.updateIssuablesCache($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.hasAnyIssues)?_c('issuable-list',{attrs:{\"namespace\":_vm.fullPath,\"full-path\":_vm.fullPath,\"recent-searches-storage-key\":\"issues\",\"search-tokens\":_vm.searchTokens,\"has-scoped-labels-feature\":_vm.hasScopedLabelsFeature,\"initial-filter-value\":_vm.filterTokens,\"sort-options\":_vm.sortOptions,\"initial-sort-by\":_vm.sortKey,\"issuables\":_vm.issues,\"error\":_vm.issuesError,\"label-filter-param\":\"label_name\",\"tabs\":_vm.$options.issuableListTabs,\"current-tab\":_vm.state,\"tab-counts\":_vm.tabCounts,\"truncate-counts\":!_vm.isProject,\"issuables-loading\":_vm.isLoading,\"is-manual-ordering\":_vm.isManualOrdering,\"show-bulk-edit-sidebar\":_vm.showBulkEditSidebar,\"show-pagination-controls\":_vm.showPaginationControls,\"default-page-size\":_vm.pageSize,\"show-filtered-search-friendly-text\":\"\",\"sync-filter-and-sort\":\"\",\"use-keyset-pagination\":\"\",\"show-page-size-selector\":_vm.showPageSizeSelector,\"has-next-page\":_vm.pageInfo.hasNextPage,\"has-previous-page\":_vm.pageInfo.hasPreviousPage,\"is-grid-view\":_vm.isGridView,\"active-issuable\":_vm.activeIssuable,\"show-work-item-type-icon\":\"\",\"prevent-redirect\":_vm.issuesDrawerEnabled},on:{\"click-tab\":_vm.handleClickTab,\"dismiss-alert\":_vm.handleDismissAlert,\"filter\":_vm.handleFilter,\"next-page\":_vm.handleNextPage,\"previous-page\":_vm.handlePreviousPage,\"reorder\":_vm.handleReorder,\"sort\":_vm.handleSort,\"update-legacy-bulk-edit\":_vm.handleUpdateLegacyBulkEdit,\"page-size-change\":_vm.handlePageSizeChange,\"select-issuable\":_vm.handleSelectIssuable},scopedSlots:_vm._u([{key:\"nav-actions\",fn:function(){return [_c('div',{staticClass:\"gl-flex gl-gap-3\"},[(_vm.gridViewFeatureEnabled)?_c('local-storage-sync',{attrs:{\"value\":_vm.viewType,\"storage-key\":_vm.$options.ISSUES_VIEW_TYPE_KEY},on:{\"input\":_vm.switchViewType}},[_c('gl-button-group',[_c('gl-button',{attrs:{\"variant\":_vm.isGridView ? 'default' : 'confirm',\"data-testid\":\"list-view-type\"},on:{\"click\":function($event){return _vm.switchViewType(_vm.$options.ISSUES_LIST_VIEW_KEY)}}},[_vm._v(\"\\n              \"+_vm._s(_vm.__('List'))+\"\\n            \")]),_vm._v(\" \"),_c('gl-button',{attrs:{\"variant\":_vm.isGridView ? 'confirm' : 'default',\"data-testid\":\"grid-view-type\"},on:{\"click\":function($event){return _vm.switchViewType(_vm.$options.ISSUES_GRID_VIEW_KEY)}}},[_vm._v(\"\\n              \"+_vm._s(_vm.__('Grid'))+\"\\n            \")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.canBulkUpdate)?_c('gl-button',{staticClass:\"gl-shrink-0 gl-grow\",attrs:{\"disabled\":_vm.isBulkEditButtonDisabled},on:{\"click\":_vm.handleBulkUpdateClick}},[_vm._v(\"\\n          \"+_vm._s(_vm.__('Bulk edit'))+\"\\n        \")]):_vm._e(),_vm._v(\" \"),_vm._t(\"new-issuable-button\",function(){return [(_vm.showNewIssueLink)?_c('gl-button',{staticClass:\"gl-grow\",attrs:{\"href\":_vm.newIssuePath,\"variant\":\"confirm\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.__('New issue'))+\"\\n          \")]):_vm._e()]}),_vm._v(\" \"),(_vm.showNewIssueDropdown)?_c('new-resource-dropdown',{attrs:{\"query\":_vm.$options.searchProjectsQuery,\"query-variables\":_vm.newIssueDropdownQueryVariables,\"extract-projects\":_vm.extractProjects,\"group-id\":_vm.groupId}}):_vm._e(),_vm._v(\" \"),_c('gl-disclosure-dropdown',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.hover\",value:(_vm.$options.i18n.actionsLabel),expression:\"$options.i18n.actionsLabel\",modifiers:{\"hover\":true}}],staticClass:\"!gl-w-7\",attrs:{\"category\":\"tertiary\",\"icon\":\"ellipsis_v\",\"no-caret\":\"\",\"toggle-text\":_vm.$options.i18n.actionsLabel,\"text-sr-only\":\"\",\"data-testid\":\"issues-list-more-actions-dropdown\",\"toggle-class\":\"!gl-m-0 gl-h-full\"}},[(_vm.showCsvButtons)?_c('csv-import-export-buttons',{attrs:{\"export-csv-path\":_vm.exportCsvPathWithQuery,\"issuable-count\":_vm.currentTabCount}}):_vm._e(),_vm._v(\" \"),_c('gl-disclosure-dropdown-group',{attrs:{\"bordered\":_vm.showCsvButtons,\"group\":_vm.subscribeDropdownOptions}})],1)],2)]},proxy:true},{key:\"timeframe\",fn:function({ issuable = {} }){return [_c('issue-card-time-info',{attrs:{\"issue\":issuable}})]}},{key:\"status\",fn:function({ issuable = {} }){return [_vm._v(\"\\n      \"+_vm._s(_vm.getStatus(issuable))+\"\\n    \")]}},{key:\"statistics\",fn:function({ issuable = {} }){return [_c('issue-card-statistics',{attrs:{\"issue\":issuable}})]}},{key:\"empty-state\",fn:function(){return [_c('empty-state-with-any-issues',{attrs:{\"has-search\":_vm.hasSearch,\"is-open-tab\":_vm.isOpenTab}})]},proxy:true},{key:\"list-body\",fn:function(){return [_vm._t(\"list-body\")]},proxy:true},{key:\"title-icons\",fn:function({ issuable }){return [_vm._t(\"title-icons\",null,null,{ issuable, apiFilterParams: _vm.apiFilterParams })]}}],null,true)}):_c('empty-state-without-any-issues',{attrs:{\"current-tab-count\":_vm.currentTabCount,\"export-csv-path-with-query\":_vm.exportCsvPathWithQuery,\"show-csv-buttons\":_vm.showCsvButtons,\"show-new-issue-dropdown\":_vm.showNewIssueDropdown}}),_vm._v(\" \"),(_vm.showIssuableByEmail)?_c('issuable-by-email',{staticClass:\"gl-pb-7 gl-pt-5 gl-text-center\",attrs:{\"data-track-action\":\"click_email_issue_project_issues_empty_list_page\",\"data-track-label\":\"email_issue_project_issues_empty_list\"}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport {\n  GlButton,\n  GlButtonGroup,\n  GlDisclosureDropdown,\n  GlDisclosureDropdownGroup,\n  GlFilteredSearchToken,\n  GlTooltipDirective,\n} from '@gitlab/ui';\n\nimport produce from 'immer';\nimport fuzzaldrinPlus from 'fuzzaldrin-plus';\nimport { isEmpty } from 'lodash';\nimport * as Sentry from '~/sentry/sentry_browser_wrapper';\nimport IssueCardStatistics from 'ee_else_ce/issues/list/components/issue_card_statistics.vue';\nimport IssueCardTimeInfo from 'ee_else_ce/issues/list/components/issue_card_time_info.vue';\nimport getIssuesQuery from 'ee_else_ce/issues/list/queries/get_issues.query.graphql';\nimport getIssuesCountsQuery from 'ee_else_ce/issues/list/queries/get_issues_counts.query.graphql';\nimport {\n  convertToApiParams,\n  convertToSearchQuery,\n  convertToUrlParams,\n  deriveSortKey,\n  getDefaultWorkItemTypes,\n  getFilterTokens,\n  getInitialPageParams,\n  getSortOptions,\n  getTypeTokenOptions,\n  groupMultiSelectFilterTokens,\n  mapWorkItemWidgetsToIssuableFields,\n  updateUpvotesCount,\n} from 'ee_else_ce/issues/list/utils';\nimport LocalStorageSync from '~/vue_shared/components/local_storage_sync.vue';\nimport { createAlert, VARIANT_INFO } from '~/alert';\nimport { TYPENAME_USER } from '~/graphql_shared/constants';\nimport CsvImportExportButtons from '~/issuable/components/csv_import_export_buttons.vue';\nimport { convertToGraphQLId, getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport IssuableByEmail from '~/issuable/components/issuable_by_email.vue';\nimport {\n  STATUS_ALL,\n  STATUS_CLOSED,\n  STATUS_OPEN,\n  WORKSPACE_GROUP,\n  WORKSPACE_PROJECT,\n  TYPE_ISSUE,\n} from '~/issues/constants';\nimport axios from '~/lib/utils/axios_utils';\nimport { fetchPolicies } from '~/lib/graphql';\nimport { isPositiveInteger } from '~/lib/utils/number_utils';\nimport { scrollUp } from '~/lib/utils/scroll_utils';\nimport {\n  getParameterByName,\n  joinPaths,\n  removeParams,\n  updateHistory,\n} from '~/lib/utils/url_utility';\nimport { __ } from '~/locale';\nimport {\n  OPERATORS_IS,\n  OPERATORS_IS_NOT_OR,\n  OPERATORS_AFTER_BEFORE,\n  TOKEN_TITLE_ASSIGNEE,\n  TOKEN_TITLE_AUTHOR,\n  TOKEN_TITLE_CONFIDENTIAL,\n  TOKEN_TITLE_CONTACT,\n  TOKEN_TITLE_LABEL,\n  TOKEN_TITLE_MILESTONE,\n  TOKEN_TITLE_MY_REACTION,\n  TOKEN_TITLE_ORGANIZATION,\n  TOKEN_TITLE_RELEASE,\n  TOKEN_TITLE_SEARCH_WITHIN,\n  TOKEN_TITLE_TYPE,\n  TOKEN_TITLE_CREATED,\n  TOKEN_TITLE_CLOSED,\n  TOKEN_TYPE_ASSIGNEE,\n  TOKEN_TYPE_AUTHOR,\n  TOKEN_TYPE_CONFIDENTIAL,\n  TOKEN_TYPE_CONTACT,\n  TOKEN_TYPE_LABEL,\n  TOKEN_TYPE_MILESTONE,\n  TOKEN_TYPE_MY_REACTION,\n  TOKEN_TYPE_ORGANIZATION,\n  TOKEN_TYPE_RELEASE,\n  TOKEN_TYPE_SEARCH_WITHIN,\n  TOKEN_TYPE_TYPE,\n  TOKEN_TYPE_CREATED,\n  TOKEN_TYPE_CLOSED,\n} from '~/vue_shared/components/filtered_search_bar/constants';\nimport IssuableList from '~/vue_shared/issuable/list/components/issuable_list_root.vue';\nimport { DEFAULT_PAGE_SIZE, issuableListTabs } from '~/vue_shared/issuable/list/constants';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport NewResourceDropdown from '~/vue_shared/components/new_resource_dropdown/new_resource_dropdown.vue';\nimport {\n  WORK_ITEM_TYPE_ENUM_OBJECTIVE,\n  DETAIL_VIEW_QUERY_PARAM_NAME,\n} from '~/work_items/constants';\nimport WorkItemDrawer from '~/work_items/components/work_item_drawer.vue';\nimport { makeDrawerUrlParam } from '~/work_items/utils';\nimport {\n  CREATED_DESC,\n  i18n,\n  ISSUE_REFERENCE,\n  ISSUES_GRID_VIEW_KEY,\n  ISSUES_LIST_VIEW_KEY,\n  ISSUES_VIEW_TYPE_KEY,\n  MAX_LIST_SIZE,\n  PARAM_FIRST_PAGE_SIZE,\n  PARAM_LAST_PAGE_SIZE,\n  PARAM_PAGE_AFTER,\n  PARAM_PAGE_BEFORE,\n  PARAM_SORT,\n  PARAM_STATE,\n  RELATIVE_POSITION_ASC,\n  UPDATED_DESC,\n  urlSortParams,\n} from '../constants';\nimport eventHub from '../eventhub';\nimport reorderIssuesMutation from '../queries/reorder_issues.mutation.graphql';\nimport searchLabelsQuery from '../queries/search_labels.query.graphql';\nimport setSortPreferenceMutation from '../queries/set_sort_preference.mutation.graphql';\nimport { hasNewIssueDropdown } from '../has_new_issue_dropdown_mixin';\nimport EmptyStateWithAnyIssues from './empty_state_with_any_issues.vue';\nimport EmptyStateWithoutAnyIssues from './empty_state_without_any_issues.vue';\n\nconst UserToken = () => import('~/vue_shared/components/filtered_search_bar/tokens/user_token.vue');\nconst EmojiToken = () =>\n  import('~/vue_shared/components/filtered_search_bar/tokens/emoji_token.vue');\nconst LabelToken = () =>\n  import('~/vue_shared/components/filtered_search_bar/tokens/label_token.vue');\nconst MilestoneToken = () =>\n  import('~/vue_shared/components/filtered_search_bar/tokens/milestone_token.vue');\nconst ReleaseToken = () =>\n  import('~/vue_shared/components/filtered_search_bar/tokens/release_token.vue');\nconst CrmContactToken = () =>\n  import('~/vue_shared/components/filtered_search_bar/tokens/crm_contact_token.vue');\nconst CrmOrganizationToken = () =>\n  import('~/vue_shared/components/filtered_search_bar/tokens/crm_organization_token.vue');\nconst DateToken = () => import('~/vue_shared/components/filtered_search_bar/tokens/date_token.vue');\n\nexport default {\n  name: 'IssuesListAppCE',\n  i18n,\n  issuableListTabs,\n  issuableType: TYPE_ISSUE.toUpperCase(),\n  ISSUES_VIEW_TYPE_KEY,\n  ISSUES_GRID_VIEW_KEY,\n  ISSUES_LIST_VIEW_KEY,\n  components: {\n    CsvImportExportButtons,\n    GlDisclosureDropdown,\n    GlDisclosureDropdownGroup,\n    EmptyStateWithAnyIssues,\n    EmptyStateWithoutAnyIssues,\n    GlButton,\n    GlButtonGroup,\n    IssuableByEmail,\n    IssuableList,\n    IssueCardStatistics,\n    IssueCardTimeInfo,\n    NewResourceDropdown,\n    LocalStorageSync,\n    WorkItemDrawer,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  mixins: [glFeatureFlagMixin(), hasNewIssueDropdown()],\n  inject: [\n    'autocompleteAwardEmojisPath',\n    'calendarPath',\n    'canBulkUpdate',\n    'canCreateIssue',\n    'canReadCrmContact',\n    'canReadCrmOrganization',\n    'exportCsvPath',\n    'fullPath',\n    'hasAnyIssues',\n    'hasAnyProjects',\n    'hasBlockedIssuesFeature',\n    'hasIssuableHealthStatusFeature',\n    'hasIssueDateFilterFeature',\n    'hasIssueWeightsFeature',\n    'hasOkrsFeature',\n    'hasQualityManagementFeature',\n    'hasScopedLabelsFeature',\n    'initialEmail',\n    'initialSort',\n    'isIssueRepositioningDisabled',\n    'isProject',\n    'isPublicVisibilityRestricted',\n    'isSignedIn',\n    'newIssuePath',\n    'releasesPath',\n    'rssPath',\n    'showNewIssueLink',\n    'groupId',\n  ],\n  props: {\n    eeSearchTokens: {\n      type: Array,\n      required: false,\n      default: () => [],\n    },\n  },\n  data() {\n    return {\n      exportCsvPathWithQuery: this.getExportCsvPathWithQuery(),\n      filterTokens: [],\n      issues: [],\n      issuesCounts: {},\n      issuesError: null,\n      pageInfo: {},\n      pageParams: {},\n      showBulkEditSidebar: false,\n      sortKey: CREATED_DESC,\n      state: STATUS_OPEN,\n      pageSize: DEFAULT_PAGE_SIZE,\n      viewType: ISSUES_LIST_VIEW_KEY,\n      subscribeDropdownOptions: {\n        items: [\n          {\n            text: __('Subscribe to RSS feed'),\n            href: this.rssPath,\n            extraAttrs: { 'data-testid': 'subscribe-rss' },\n          },\n          {\n            text: __('Subscribe to calendar'),\n            href: this.calendarPath,\n            extraAttrs: { 'data-testid': 'subscribe-calendar' },\n          },\n        ],\n      },\n      activeIssuable: null,\n    };\n  },\n  apollo: {\n    issues: {\n      query: getIssuesQuery,\n      variables() {\n        return this.queryVariables;\n      },\n      update(data) {\n        return data[this.namespace]?.issues.nodes ?? [];\n      },\n      fetchPolicy: fetchPolicies.CACHE_AND_NETWORK,\n      nextFetchPolicy: fetchPolicies.CACHE_FIRST,\n      // We need this for handling loading state when using frontend cache\n      // See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106004#note_1217325202 for details\n      notifyOnNetworkStatusChange: true,\n      result({ data }) {\n        if (!data) {\n          return;\n        }\n        this.pageInfo = data[this.namespace]?.issues.pageInfo ?? {};\n        this.exportCsvPathWithQuery = this.getExportCsvPathWithQuery();\n        this.checkDrawerParams();\n      },\n      error(error) {\n        this.issuesError = this.$options.i18n.errorFetchingIssues;\n        Sentry.captureException(error);\n      },\n      skip() {\n        return !this.hasAnyIssues || isEmpty(this.pageParams);\n      },\n    },\n    issuesCounts: {\n      query: getIssuesCountsQuery,\n      variables() {\n        return this.queryVariables;\n      },\n      update(data) {\n        return data[this.namespace] ?? {};\n      },\n      error(error) {\n        this.issuesError = this.$options.i18n.errorFetchingCounts;\n        Sentry.captureException(error);\n      },\n      skip() {\n        return !this.hasAnyIssues || isEmpty(this.pageParams);\n      },\n    },\n  },\n  computed: {\n    queryVariables() {\n      const isIidSearch = ISSUE_REFERENCE.test(this.searchQuery);\n      return {\n        fullPath: this.fullPath,\n        hideUsers: this.isPublicVisibilityRestricted && !this.isSignedIn,\n        iid: isIidSearch ? this.searchQuery.slice(1) : undefined,\n        isProject: this.isProject,\n        isSignedIn: this.isSignedIn,\n        sort: this.sortKey,\n        state: this.state,\n        ...this.pageParams,\n        ...this.apiFilterParams,\n        search: isIidSearch ? undefined : this.searchQuery,\n        types: this.apiFilterParams.types || this.defaultWorkItemTypes,\n      };\n    },\n    namespace() {\n      return this.isProject ? WORKSPACE_PROJECT : WORKSPACE_GROUP;\n    },\n    defaultWorkItemTypes() {\n      return getDefaultWorkItemTypes({\n        hasOkrsFeature: this.hasOkrsFeature,\n        hasQualityManagementFeature: this.hasQualityManagementFeature,\n      });\n    },\n    hasSearch() {\n      return Boolean(\n        this.searchQuery ||\n          Object.keys(this.urlFilterParams).length ||\n          this.pageParams.afterCursor ||\n          this.pageParams.beforeCursor,\n      );\n    },\n    isBulkEditButtonDisabled() {\n      return this.showBulkEditSidebar || !this.issues.length;\n    },\n    isManualOrdering() {\n      return this.sortKey === RELATIVE_POSITION_ASC;\n    },\n    isOpenTab() {\n      return this.state === STATUS_OPEN;\n    },\n    showCsvButtons() {\n      return this.isProject && this.isSignedIn;\n    },\n    showIssuableByEmail() {\n      return this.initialEmail && this.canCreateIssue;\n    },\n    showNewIssueDropdown() {\n      return !this.isProject && this.hasAnyProjects;\n    },\n    apiFilterParams() {\n      return convertToApiParams(this.filterTokens);\n    },\n    urlFilterParams() {\n      return convertToUrlParams(this.filterTokens);\n    },\n    searchQuery() {\n      return convertToSearchQuery(this.filterTokens);\n    },\n    searchTokens() {\n      const preloadedUsers = [];\n\n      if (gon.current_user_id) {\n        preloadedUsers.push({\n          id: convertToGraphQLId(TYPENAME_USER, gon.current_user_id),\n          name: gon.current_user_fullname,\n          username: gon.current_username,\n          avatar_url: gon.current_user_avatar_url,\n        });\n      }\n\n      const tokens = [\n        {\n          type: TOKEN_TYPE_SEARCH_WITHIN,\n          title: TOKEN_TITLE_SEARCH_WITHIN,\n          icon: 'search',\n          token: GlFilteredSearchToken,\n          unique: true,\n          operators: OPERATORS_IS,\n          options: [\n            { icon: 'title', value: 'TITLE', title: this.$options.i18n.titles },\n            {\n              icon: 'text-description',\n              value: 'DESCRIPTION',\n              title: this.$options.i18n.descriptions,\n            },\n          ],\n        },\n        {\n          type: TOKEN_TYPE_AUTHOR,\n          title: TOKEN_TITLE_AUTHOR,\n          icon: 'pencil',\n          token: UserToken,\n          dataType: 'user',\n          defaultUsers: [],\n          operators: OPERATORS_IS_NOT_OR,\n          fullPath: this.fullPath,\n          isProject: this.isProject,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-author`,\n          preloadedUsers,\n          multiSelect: true,\n        },\n        {\n          type: TOKEN_TYPE_ASSIGNEE,\n          title: TOKEN_TITLE_ASSIGNEE,\n          icon: 'user',\n          token: UserToken,\n          dataType: 'user',\n          operators: OPERATORS_IS_NOT_OR,\n          fullPath: this.fullPath,\n          isProject: this.isProject,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-assignee`,\n          preloadedUsers,\n          multiSelect: true,\n        },\n        {\n          type: TOKEN_TYPE_MILESTONE,\n          title: TOKEN_TITLE_MILESTONE,\n          icon: 'milestone',\n          token: MilestoneToken,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-milestone`,\n          shouldSkipSort: true,\n          fullPath: this.fullPath,\n          isProject: this.isProject,\n        },\n        {\n          type: TOKEN_TYPE_LABEL,\n          title: TOKEN_TITLE_LABEL,\n          icon: 'labels',\n          token: LabelToken,\n          operators: OPERATORS_IS_NOT_OR,\n          fetchLabels: this.fetchLabels,\n          fetchLatestLabels: this.glFeatures.frontendCaching ? this.fetchLatestLabels : null,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-label`,\n          multiSelect: true,\n        },\n        {\n          type: TOKEN_TYPE_TYPE,\n          title: TOKEN_TITLE_TYPE,\n          icon: 'issues',\n          token: GlFilteredSearchToken,\n          options: this.typeTokenOptions,\n        },\n      ];\n\n      if (this.isProject) {\n        tokens.push({\n          type: TOKEN_TYPE_RELEASE,\n          title: TOKEN_TITLE_RELEASE,\n          icon: 'rocket',\n          token: ReleaseToken,\n          fetchReleases: this.fetchReleases,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-release`,\n        });\n      }\n\n      if (this.isSignedIn) {\n        tokens.push({\n          type: TOKEN_TYPE_MY_REACTION,\n          title: TOKEN_TITLE_MY_REACTION,\n          icon: 'thumb-up',\n          token: EmojiToken,\n          unique: true,\n          fetchEmojis: this.fetchEmojis,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-my_reaction`,\n        });\n\n        tokens.push({\n          type: TOKEN_TYPE_CONFIDENTIAL,\n          title: TOKEN_TITLE_CONFIDENTIAL,\n          icon: 'eye-slash',\n          token: GlFilteredSearchToken,\n          unique: true,\n          operators: OPERATORS_IS,\n          options: [\n            { icon: 'eye-slash', value: 'yes', title: this.$options.i18n.confidentialYes },\n            { icon: 'eye', value: 'no', title: this.$options.i18n.confidentialNo },\n          ],\n        });\n\n        if (this.hasIssueDateFilterFeature) {\n          tokens.push({\n            type: TOKEN_TYPE_CREATED,\n            title: TOKEN_TITLE_CREATED,\n            icon: 'history',\n            token: DateToken,\n            operators: OPERATORS_AFTER_BEFORE,\n          });\n\n          tokens.push({\n            type: TOKEN_TYPE_CLOSED,\n            title: TOKEN_TITLE_CLOSED,\n            icon: 'history',\n            token: DateToken,\n            operators: OPERATORS_AFTER_BEFORE,\n          });\n        }\n      }\n\n      if (this.canReadCrmContact) {\n        tokens.push({\n          type: TOKEN_TYPE_CONTACT,\n          title: TOKEN_TITLE_CONTACT,\n          icon: 'user',\n          token: CrmContactToken,\n          fullPath: this.fullPath,\n          isProject: this.isProject,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-crm-contacts`,\n          operators: OPERATORS_IS,\n          unique: true,\n        });\n      }\n\n      if (this.canReadCrmOrganization) {\n        tokens.push({\n          type: TOKEN_TYPE_ORGANIZATION,\n          title: TOKEN_TITLE_ORGANIZATION,\n          icon: 'users',\n          token: CrmOrganizationToken,\n          fullPath: this.fullPath,\n          isProject: this.isProject,\n          recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-crm-organizations`,\n          operators: OPERATORS_IS,\n          unique: true,\n        });\n      }\n\n      if (this.eeSearchTokens.length) {\n        tokens.push(...this.eeSearchTokens);\n      }\n\n      tokens.sort((a, b) => a.title.localeCompare(b.title));\n\n      return tokens;\n    },\n    showPaginationControls() {\n      return !this.isLoading && (this.pageInfo.hasNextPage || this.pageInfo.hasPreviousPage);\n    },\n    showPageSizeSelector() {\n      return this.issues.length > 0;\n    },\n    sortOptions() {\n      return getSortOptions({\n        hasBlockedIssuesFeature: this.hasBlockedIssuesFeature,\n        hasIssuableHealthStatusFeature: this.hasIssuableHealthStatusFeature,\n        hasIssueWeightsFeature: this.hasIssueWeightsFeature,\n      });\n    },\n    tabCounts() {\n      const { openedIssues, closedIssues, allIssues } = this.issuesCounts;\n      return {\n        [STATUS_OPEN]: openedIssues?.count,\n        [STATUS_CLOSED]: closedIssues?.count,\n        [STATUS_ALL]: allIssues?.count,\n      };\n    },\n    typeTokenOptions() {\n      return getTypeTokenOptions({\n        hasOkrsFeature: this.hasOkrsFeature,\n        hasQualityManagementFeature: this.hasQualityManagementFeature,\n      });\n    },\n    currentTabCount() {\n      return this.tabCounts[this.state] ?? 0;\n    },\n    urlParams() {\n      const show = this.activeIssuable\n        ? makeDrawerUrlParam(this.activeIssuable, this.fullPath)\n        : undefined;\n      const base = {\n        sort: urlSortParams[this.sortKey],\n        state: this.state,\n        ...this.urlFilterParams,\n        first_page_size: this.pageParams.firstPageSize,\n        last_page_size: this.pageParams.lastPageSize,\n        page_after: this.pageParams.afterCursor ?? undefined,\n        page_before: this.pageParams.beforeCursor ?? undefined,\n      };\n      if (show) {\n        return { ...base, show };\n      }\n      return base;\n    },\n    // due to the issues with cache-and-network, we need this hack to check if there is any data for the query in the cache.\n    // if we have cached data, we disregard the loading state\n    isLoading() {\n      return (\n        this.$apollo.queries.issues.loading &&\n        !this.$apollo.provider.clients.defaultClient.readQuery({\n          query: getIssuesQuery,\n          variables: this.queryVariables,\n        })\n      );\n    },\n    gridViewFeatureEnabled() {\n      return Boolean(this.glFeatures?.issuesGridView);\n    },\n    isGridView() {\n      return this.viewType === ISSUES_GRID_VIEW_KEY;\n    },\n    isIssuableSelected() {\n      return !isEmpty(this.activeIssuable);\n    },\n    issuesDrawerEnabled() {\n      return this.glFeatures?.issuesListDrawer;\n    },\n  },\n  watch: {\n    $route(newValue, oldValue) {\n      if (newValue.fullPath !== oldValue.fullPath) {\n        this.updateData(getParameterByName(PARAM_SORT));\n      }\n      if (newValue.query.show) {\n        this.checkDrawerParams();\n      } else {\n        this.activeIssuable = null;\n      }\n    },\n  },\n  created() {\n    this.updateData(this.initialSort);\n    this.cache = {};\n  },\n  mounted() {\n    eventHub.$on('issuables:toggleBulkEdit', this.toggleBulkEditSidebar);\n  },\n  beforeDestroy() {\n    eventHub.$off('issuables:toggleBulkEdit', this.toggleBulkEditSidebar);\n  },\n  methods: {\n    // eslint-disable-next-line max-params\n    fetchWithCache(path, cacheName, searchKey, search) {\n      if (this.cache[cacheName]) {\n        const data = search\n          ? fuzzaldrinPlus.filter(this.cache[cacheName], search, { key: searchKey })\n          : this.cache[cacheName].slice(0, MAX_LIST_SIZE);\n        return Promise.resolve(data);\n      }\n\n      return axios.get(path).then(({ data }) => {\n        this.cache[cacheName] = data;\n        return data.slice(0, MAX_LIST_SIZE);\n      });\n    },\n    fetchEmojis(search) {\n      return this.fetchWithCache(this.autocompleteAwardEmojisPath, 'emojis', 'name', search);\n    },\n    fetchReleases(search) {\n      return this.fetchWithCache(this.releasesPath, 'releases', 'tag', search);\n    },\n    fetchLabelsWithFetchPolicy(search, fetchPolicy = fetchPolicies.CACHE_FIRST) {\n      return this.$apollo\n        .query({\n          query: searchLabelsQuery,\n          variables: { fullPath: this.fullPath, search, isProject: this.isProject },\n          fetchPolicy,\n        })\n        .then(({ data }) => data[this.namespace]?.labels.nodes)\n        .then((labels) =>\n          // TODO remove once we can search by title-only on the backend\n          // https://gitlab.com/gitlab-org/gitlab/-/issues/346353\n          labels.filter((label) => label.title.toLowerCase().includes(search.toLowerCase())),\n        );\n    },\n    fetchLabels(search) {\n      return this.fetchLabelsWithFetchPolicy(search);\n    },\n    fetchLatestLabels(search) {\n      return this.fetchLabelsWithFetchPolicy(search, fetchPolicies.NETWORK_ONLY);\n    },\n    getExportCsvPathWithQuery() {\n      return `${this.exportCsvPath}${window.location.search}`;\n    },\n    getStatus(issue) {\n      if (issue.state === STATUS_CLOSED && issue.moved) {\n        return this.$options.i18n.closedMoved;\n      }\n      if (issue.state === STATUS_CLOSED) {\n        return this.$options.i18n.closed;\n      }\n      return undefined;\n    },\n    handleUpdateLegacyBulkEdit() {\n      // If \"select all\" checkbox was checked, wait for all checkboxes\n      // to be checked before updating IssuableBulkUpdateSidebar class\n      this.$nextTick(() => {\n        eventHub.$emit('issuables:updateBulkEdit');\n      });\n    },\n    async handleBulkUpdateClick() {\n      if (!this.hasInitBulkEdit) {\n        const bulkUpdateSidebar = await import('~/issuable');\n        bulkUpdateSidebar.initBulkUpdateSidebar('issuable_');\n\n        this.hasInitBulkEdit = true;\n      }\n\n      eventHub.$emit('issuables:enableBulkEdit');\n    },\n    handleClickTab(state) {\n      if (this.state === state) {\n        return;\n      }\n\n      this.state = state;\n      this.pageParams = getInitialPageParams(this.pageSize);\n\n      this.$router.push({ query: this.urlParams });\n    },\n    handleDismissAlert() {\n      this.issuesError = null;\n    },\n    handleFilter(tokens) {\n      this.filterTokens = tokens;\n      this.pageParams = getInitialPageParams(this.pageSize);\n\n      this.$router.push({ query: this.urlParams });\n    },\n    handleNextPage() {\n      this.pageParams = {\n        afterCursor: this.pageInfo.endCursor,\n        firstPageSize: this.pageSize,\n      };\n      scrollUp();\n\n      this.$router.push({ query: this.urlParams });\n    },\n    handlePreviousPage() {\n      this.pageParams = {\n        beforeCursor: this.pageInfo.startCursor,\n        lastPageSize: this.pageSize,\n      };\n      scrollUp();\n\n      this.$router.push({ query: this.urlParams });\n    },\n    handleReorder({ newIndex, oldIndex }) {\n      const issueToMove = this.issues[oldIndex];\n      const isDragDropDownwards = newIndex > oldIndex;\n      const isMovingToBeginning = newIndex === 0;\n      const isMovingToEnd = newIndex === this.issues.length - 1;\n\n      let moveBeforeId;\n      let moveAfterId;\n\n      if (isDragDropDownwards) {\n        const afterIndex = isMovingToEnd ? newIndex : newIndex + 1;\n        moveBeforeId = this.issues[newIndex].id;\n        moveAfterId = this.issues[afterIndex].id;\n      } else {\n        const beforeIndex = isMovingToBeginning ? newIndex : newIndex - 1;\n        moveBeforeId = this.issues[beforeIndex].id;\n        moveAfterId = this.issues[newIndex].id;\n      }\n\n      return axios\n        .put(joinPaths(issueToMove.webPath, 'reorder'), {\n          move_before_id: isMovingToBeginning ? null : getIdFromGraphQLId(moveBeforeId),\n          move_after_id: isMovingToEnd ? null : getIdFromGraphQLId(moveAfterId),\n        })\n        .then(() => {\n          const serializedVariables = JSON.stringify(this.queryVariables);\n          return this.$apollo.mutate({\n            mutation: reorderIssuesMutation,\n            variables: { oldIndex, newIndex, namespace: this.namespace, serializedVariables },\n          });\n        })\n        .catch((error) => {\n          this.issuesError = __('An error occurred while reordering issues.');\n          Sentry.captureException(error);\n        });\n    },\n    handleSort(sortKey) {\n      if (this.sortKey === sortKey) {\n        return;\n      }\n\n      if (this.isIssueRepositioningDisabled && sortKey === RELATIVE_POSITION_ASC) {\n        this.showIssueRepositioningMessage();\n        return;\n      }\n\n      this.sortKey = sortKey;\n      this.pageParams = getInitialPageParams(this.pageSize);\n\n      if (this.isSignedIn) {\n        this.saveSortPreference(sortKey);\n      }\n\n      this.$router.push({ query: this.urlParams });\n    },\n    saveSortPreference(sortKey) {\n      this.$apollo\n        .mutate({\n          mutation: setSortPreferenceMutation,\n          variables: { input: { issuesSort: sortKey } },\n        })\n        .then(({ data }) => {\n          if (data.userPreferencesUpdate.errors.length) {\n            throw new Error(data.userPreferencesUpdate.errors);\n          }\n        })\n        .catch((error) => {\n          Sentry.captureException(error);\n        });\n    },\n    showIssueRepositioningMessage() {\n      createAlert({\n        message: this.$options.i18n.issueRepositioningMessage,\n        variant: VARIANT_INFO,\n      });\n    },\n    toggleBulkEditSidebar(showBulkEditSidebar) {\n      this.showBulkEditSidebar = showBulkEditSidebar;\n    },\n    handlePageSizeChange(pageSize) {\n      this.pageSize = pageSize;\n      this.pageParams = getInitialPageParams(pageSize);\n      scrollUp();\n\n      this.$router.push({ query: this.urlParams });\n    },\n    updateData(sort) {\n      const firstPageSize = getParameterByName(PARAM_FIRST_PAGE_SIZE);\n      const lastPageSize = getParameterByName(PARAM_LAST_PAGE_SIZE);\n      const state = getParameterByName(PARAM_STATE);\n\n      let sortKey = deriveSortKey({ sort, state });\n\n      if (this.isIssueRepositioningDisabled && sortKey === RELATIVE_POSITION_ASC) {\n        this.showIssueRepositioningMessage();\n        sortKey = state === STATUS_CLOSED ? UPDATED_DESC : CREATED_DESC;\n      }\n\n      const tokens = getFilterTokens(window.location.search);\n      this.filterTokens = groupMultiSelectFilterTokens(tokens, this.searchTokens);\n\n      this.exportCsvPathWithQuery = this.getExportCsvPathWithQuery();\n      this.pageParams = getInitialPageParams(\n        this.pageSize,\n        isPositiveInteger(firstPageSize) ? parseInt(firstPageSize, 10) : undefined,\n        isPositiveInteger(lastPageSize) ? parseInt(lastPageSize, 10) : undefined,\n        getParameterByName(PARAM_PAGE_AFTER) ?? undefined,\n        getParameterByName(PARAM_PAGE_BEFORE) ?? undefined,\n      );\n      this.sortKey = sortKey;\n      this.state = state || STATUS_OPEN;\n    },\n    switchViewType(type) {\n      // Filter the wrong data from localStorage\n      if (type === ISSUES_GRID_VIEW_KEY) {\n        this.viewType = ISSUES_GRID_VIEW_KEY;\n        return;\n      }\n      // The default view is list view\n      this.viewType = ISSUES_LIST_VIEW_KEY;\n    },\n    handleSelectIssuable(issuable) {\n      this.activeIssuable = {\n        ...issuable,\n      };\n    },\n    updateIssuablesCache(workItem) {\n      const client = this.$apollo.provider.clients.defaultClient;\n      const issuesList = client.readQuery({\n        query: getIssuesQuery,\n        variables: this.queryVariables,\n      });\n\n      const activeIssuable = issuesList[this.namespace].issues.nodes.find(\n        (issue) => getIdFromGraphQLId(issue.id) === getIdFromGraphQLId(workItem.id),\n      );\n\n      if (!activeIssuable) {\n        return;\n      }\n\n      // when we change issuable state, it's moved to a different tab\n      // to ensure that we show 20 items of the first page, we need to refetch issuables\n      if (!activeIssuable.state.includes(workItem.state.toLowerCase())) {\n        this.refetchIssuables();\n        return;\n      }\n\n      // handle all other widgets\n      const data = mapWorkItemWidgetsToIssuableFields({\n        list: issuesList,\n        workItem,\n        namespace: this.namespace,\n        type: 'issue',\n      });\n\n      client.writeQuery({ query: getIssuesQuery, variables: this.queryVariables, data });\n    },\n    promoteToObjective(workItemIid) {\n      const { cache } = this.$apollo.provider.clients.defaultClient;\n\n      cache.updateQuery({ query: getIssuesQuery, variables: this.queryVariables }, (issuesList) =>\n        produce(issuesList, (draftData) => {\n          const activeItem = draftData[this.namespace].issues.nodes.find(\n            (issue) => issue.iid === workItemIid,\n          );\n\n          activeItem.type = WORK_ITEM_TYPE_ENUM_OBJECTIVE;\n        }),\n      );\n    },\n    refetchIssuables() {\n      this.$apollo.queries.issues.refetch();\n      this.$apollo.queries.issuesCounts.refetch();\n    },\n    deleteIssuable() {\n      this.activeIssuable = null;\n      this.refetchIssuables();\n    },\n    updateIssuableEmojis(workItem) {\n      const client = this.$apollo.provider.clients.defaultClient;\n      const issuesList = client.readQuery({\n        query: getIssuesQuery,\n        variables: this.queryVariables,\n      });\n\n      const data = updateUpvotesCount({ list: issuesList, workItem, namespace: this.namespace });\n\n      client.writeQuery({ query: getIssuesQuery, variables: this.queryVariables, data });\n    },\n    checkDrawerParams() {\n      const queryParam = getParameterByName(DETAIL_VIEW_QUERY_PARAM_NAME);\n\n      if (this.activeIssuable || !queryParam) {\n        return;\n      }\n\n      const params = JSON.parse(atob(queryParam));\n      if (params.id) {\n        const issue = this.issues.find((i) => getIdFromGraphQLId(i.id) === params.id);\n        if (issue) {\n          this.activeIssuable = {\n            ...issue,\n            // we need fullPath here to prevent cache invalidation\n            fullPath: params.full_path,\n          };\n        } else {\n          updateHistory({\n            url: removeParams([DETAIL_VIEW_QUERY_PARAM_NAME]),\n          });\n        }\n      }\n    },\n  },\n};\n</script>\n\n<template>\n  <div>\n    <work-item-drawer\n      v-if=\"issuesDrawerEnabled\"\n      :open=\"isIssuableSelected\"\n      :active-item=\"activeIssuable\"\n      :issuable-type=\"$options.issuableType\"\n      click-outside-exclude-selector=\".issuable-list\"\n      @close=\"activeIssuable = null\"\n      @work-item-updated=\"updateIssuablesCache\"\n      @work-item-emoji-updated=\"updateIssuableEmojis\"\n      @addChild=\"refetchIssuables\"\n      @deleteWorkItemError=\"issuesError = __('An error occurred while deleting an issuable.')\"\n      @workItemDeleted=\"deleteIssuable\"\n      @promotedToObjective=\"promoteToObjective\"\n      @workItemTypeChanged=\"updateIssuablesCache($event)\"\n    />\n    <issuable-list\n      v-if=\"hasAnyIssues\"\n      :namespace=\"fullPath\"\n      :full-path=\"fullPath\"\n      recent-searches-storage-key=\"issues\"\n      :search-tokens=\"searchTokens\"\n      :has-scoped-labels-feature=\"hasScopedLabelsFeature\"\n      :initial-filter-value=\"filterTokens\"\n      :sort-options=\"sortOptions\"\n      :initial-sort-by=\"sortKey\"\n      :issuables=\"issues\"\n      :error=\"issuesError\"\n      label-filter-param=\"label_name\"\n      :tabs=\"$options.issuableListTabs\"\n      :current-tab=\"state\"\n      :tab-counts=\"tabCounts\"\n      :truncate-counts=\"!isProject\"\n      :issuables-loading=\"isLoading\"\n      :is-manual-ordering=\"isManualOrdering\"\n      :show-bulk-edit-sidebar=\"showBulkEditSidebar\"\n      :show-pagination-controls=\"showPaginationControls\"\n      :default-page-size=\"pageSize\"\n      show-filtered-search-friendly-text\n      sync-filter-and-sort\n      use-keyset-pagination\n      :show-page-size-selector=\"showPageSizeSelector\"\n      :has-next-page=\"pageInfo.hasNextPage\"\n      :has-previous-page=\"pageInfo.hasPreviousPage\"\n      :is-grid-view=\"isGridView\"\n      :active-issuable=\"activeIssuable\"\n      show-work-item-type-icon\n      :prevent-redirect=\"issuesDrawerEnabled\"\n      @click-tab=\"handleClickTab\"\n      @dismiss-alert=\"handleDismissAlert\"\n      @filter=\"handleFilter\"\n      @next-page=\"handleNextPage\"\n      @previous-page=\"handlePreviousPage\"\n      @reorder=\"handleReorder\"\n      @sort=\"handleSort\"\n      @update-legacy-bulk-edit=\"handleUpdateLegacyBulkEdit\"\n      @page-size-change=\"handlePageSizeChange\"\n      @select-issuable=\"handleSelectIssuable\"\n    >\n      <template #nav-actions>\n        <div class=\"gl-flex gl-gap-3\">\n          <local-storage-sync\n            v-if=\"gridViewFeatureEnabled\"\n            :value=\"viewType\"\n            :storage-key=\"$options.ISSUES_VIEW_TYPE_KEY\"\n            @input=\"switchViewType\"\n          >\n            <gl-button-group>\n              <gl-button\n                :variant=\"isGridView ? 'default' : 'confirm'\"\n                data-testid=\"list-view-type\"\n                @click=\"switchViewType($options.ISSUES_LIST_VIEW_KEY)\"\n              >\n                {{ __('List') }}\n              </gl-button>\n              <gl-button\n                :variant=\"isGridView ? 'confirm' : 'default'\"\n                data-testid=\"grid-view-type\"\n                @click=\"switchViewType($options.ISSUES_GRID_VIEW_KEY)\"\n              >\n                {{ __('Grid') }}\n              </gl-button>\n            </gl-button-group>\n          </local-storage-sync>\n\n          <gl-button\n            v-if=\"canBulkUpdate\"\n            :disabled=\"isBulkEditButtonDisabled\"\n            class=\"gl-shrink-0 gl-grow\"\n            @click=\"handleBulkUpdateClick\"\n          >\n            {{ __('Bulk edit') }}\n          </gl-button>\n          <slot name=\"new-issuable-button\">\n            <gl-button\n              v-if=\"showNewIssueLink\"\n              :href=\"newIssuePath\"\n              variant=\"confirm\"\n              class=\"gl-grow\"\n            >\n              {{ __('New issue') }}\n            </gl-button>\n          </slot>\n          <new-resource-dropdown\n            v-if=\"showNewIssueDropdown\"\n            :query=\"$options.searchProjectsQuery\"\n            :query-variables=\"newIssueDropdownQueryVariables\"\n            :extract-projects=\"extractProjects\"\n            :group-id=\"groupId\"\n          />\n          <gl-disclosure-dropdown\n            v-gl-tooltip.hover=\"$options.i18n.actionsLabel\"\n            category=\"tertiary\"\n            icon=\"ellipsis_v\"\n            no-caret\n            :toggle-text=\"$options.i18n.actionsLabel\"\n            text-sr-only\n            data-testid=\"issues-list-more-actions-dropdown\"\n            toggle-class=\"!gl-m-0 gl-h-full\"\n            class=\"!gl-w-7\"\n          >\n            <csv-import-export-buttons\n              v-if=\"showCsvButtons\"\n              :export-csv-path=\"exportCsvPathWithQuery\"\n              :issuable-count=\"currentTabCount\"\n            />\n            <gl-disclosure-dropdown-group\n              :bordered=\"showCsvButtons\"\n              :group=\"subscribeDropdownOptions\"\n            />\n          </gl-disclosure-dropdown>\n        </div>\n      </template>\n\n      <template #timeframe=\"{ issuable = {} }\">\n        <issue-card-time-info :issue=\"issuable\" />\n      </template>\n\n      <template #status=\"{ issuable = {} }\">\n        {{ getStatus(issuable) }}\n      </template>\n\n      <template #statistics=\"{ issuable = {} }\">\n        <issue-card-statistics :issue=\"issuable\" />\n      </template>\n\n      <template #empty-state>\n        <empty-state-with-any-issues :has-search=\"hasSearch\" :is-open-tab=\"isOpenTab\" />\n      </template>\n\n      <template #list-body>\n        <slot name=\"list-body\"></slot>\n      </template>\n\n      <template #title-icons=\"{ issuable }\">\n        <slot name=\"title-icons\" v-bind=\"{ issuable, apiFilterParams }\"></slot>\n      </template>\n    </issuable-list>\n\n    <empty-state-without-any-issues\n      v-else\n      :current-tab-count=\"currentTabCount\"\n      :export-csv-path-with-query=\"exportCsvPathWithQuery\"\n      :show-csv-buttons=\"showCsvButtons\"\n      :show-new-issue-dropdown=\"showNewIssueDropdown\"\n    />\n\n    <issuable-by-email\n      v-if=\"showIssuableByEmail\"\n      class=\"gl-pb-7 gl-pt-5 gl-text-center\"\n      data-track-action=\"click_email_issue_project_issues_empty_list_page\"\n      data-track-label=\"email_issue_project_issues_empty_list\"\n    />\n  </div>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issues_list_app.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issues_list_app.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./issues_list_app.vue?vue&type=template&id=4af97c3f\"\nimport script from \"./issues_list_app.vue?vue&type=script&lang=js\"\nexport * from \"./issues_list_app.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 render(){var _vm=this,_c=_vm._self._c;return _c('gl-empty-state',{attrs:{\"svg-path\":_vm.$options.emptyStateSvgPath,\"title\":_vm.title,\"description\":_vm.description}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport emptyStateSvgPath from '@gitlab/svgs/dist/illustrations/empty-state/empty-search-md.svg';\nimport { GlEmptyState } from '@gitlab/ui';\nimport { __ } from '~/locale';\n\nexport const TYPES = {\n  search: 'search',\n  filter: 'filter',\n};\n\nexport default {\n  i18n: {\n    titleSearch: __('No results found'),\n    descriptionSearch: __('Edit your search and try again.'),\n    titleFilter: __('No results found'),\n    descriptionFilter: __('To widen your search, change or remove filters above.'),\n  },\n  components: {\n    GlEmptyState,\n  },\n  props: {\n    type: {\n      type: String,\n      required: false,\n      default: TYPES.search,\n      validator: (type) => Object.values(TYPES).includes(type),\n    },\n  },\n  computed: {\n    title() {\n      return this.type === TYPES.search\n        ? this.$options.i18n.titleSearch\n        : this.$options.i18n.titleFilter;\n    },\n    description() {\n      return this.type === TYPES.search\n        ? this.$options.i18n.descriptionSearch\n        : this.$options.i18n.descriptionFilter;\n    },\n  },\n  emptyStateSvgPath,\n};\n</script>\n\n<template>\n  <gl-empty-state\n    :svg-path=\"$options.emptyStateSvgPath\"\n    :title=\"title\"\n    :description=\"description\"\n  />\n</template>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_result.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_result.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./empty_result.vue?vue&type=template&id=4bbd4259\"\nimport script from \"./empty_result.vue?vue&type=script&lang=js\"\nexport * from \"./empty_result.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"],"sourceRoot":""}