{"version":3,"sources":["webpack:///./sidebar/components/labels/labels_select_widget/label_item.vue","webpack:///./sidebar/components/labels/labels_select_widget/label_item.vue?8ba5","webpack:///sidebar/components/labels/labels_select_widget/label_item.vue","webpack:///./sidebar/components/labels/labels_select_widget/label_item.vue?1f7e","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_footer.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_footer.vue?15fa","webpack:///sidebar/components/labels/labels_select_widget/dropdown_footer.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_footer.vue?85ba","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_header.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_header.vue?c429","webpack:///sidebar/components/labels/labels_select_widget/dropdown_header.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_header.vue?135b","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issuable_labels.subscription.graphql","webpack:///./sidebar/components/labels/labels_select_widget/labels_select_root.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue?9ca6","webpack:///sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue?1e44","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue","webpack:///./sidebar/components/labels/labels_select_widget/utils.js","webpack:///sidebar/components/labels/labels_select_widget/dropdown_contents.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents.vue?f68a","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents.vue?fcbc","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents.vue","webpack:///./sidebar/components/labels/labels_select_widget/embedded_labels_list.vue?8b9d","webpack:///sidebar/components/labels/labels_select_widget/embedded_labels_list.vue","webpack:///./sidebar/components/labels/labels_select_widget/embedded_labels_list.vue?5075","webpack:///./sidebar/components/labels/labels_select_widget/embedded_labels_list.vue","webpack:///./sidebar/components/labels/labels_select_widget/labels_select_root.vue?d5a3","webpack:///sidebar/components/labels/labels_select_widget/labels_select_root.vue","webpack:///./sidebar/components/labels/labels_select_widget/labels_select_root.vue?3d0f","webpack:///./sidebar/components/sidebar_editable_item.vue","webpack:///./sidebar/components/sidebar_editable_item.vue?0348","webpack:///sidebar/components/sidebar_editable_item.vue","webpack:///./sidebar/components/sidebar_editable_item.vue?6457","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_value.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_value.vue?1090","webpack:///sidebar/components/labels/labels_select_widget/dropdown_value.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_value.vue?9943"],"names":["props","label","type","Object","required","component","_c","this","_self","staticClass","style","color","attrs","_v","_s","title","components","GlDropdownItem","inject","footerCreateLabelTitle","String","footerManageLabelTitle","default","computed","showManageLabelsItem","labelsManagePath","_vm","allowLabelCreate","nativeOn","$event","stopPropagation","$emit","_e","GlButton","GlSearchBoxByType","labelsCreateTitle","labelsListTitle","showDropdownContentsCreateView","Boolean","labelsFetchInProgress","searchKey","isStandalone","dropdownTitle","methods","focusInput","_this$$refs$searchInp","$refs","searchInput","__","on","ref","indexOf","_k","keyCode","key","doc","loc","source","names","definitions","concat","filter","def","kind","name","value","definitionRefs","findOperation","i","length","element","forEach","refs","Set","collectFragmentReferences","node","add","selectionSet","selections","selection","variableDefinitions","module","exports","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","op","push","oneQuery","GlLoadingIcon","GlIntersectionObserver","LabelItem","model","prop","allowMultiselect","localSelectedLabels","Array","fullPath","workspaceType","data","labels","isVisible","apollo","query","workspaceLabelsQueries","variables","searchTerm","skip","update","_data$workspace","workspace","nodes","error","createAlert","message","$apollo","queries","loading","localSelectedLabelsIds","map","getIdFromGraphQLId","id","visibleLabels","fuzzaldrinPlus","showNoMatchingResultsMessage","shouldHighlightFirstItem","isLabelSelected","includes","scrollIntoViewIfNeeded","highlightedLabel","labelsListContainer","querySelector","container","getBoundingClientRect","bottom","scrollTop","top","updateSelectedLabels","handleLabelClick","onDropdownAppear","selectFirstItem","handleFocus","event","index","_event$target$parentN","target","classList","contains","remove","parentNode","nextElementSibling","focus","_l","directives","rawName","expression","isDropdownVariantSidebar","variant","VARIANT_SIDEBAR","isDropdownVariantStandalone","VARIANT_STANDALONE","isDropdownVariantEmbedded","VARIANT_EMBEDDED","DropdownContentsLabelsView","DropdownContentsCreateView","DropdownHeader","DropdownFooter","GlDropdown","GlLink","toggleAttrs","selectedLabels","dropdownButtonText","attrWorkspacePath","labelCreateType","isDirty","dropdownContentsView","buttonText","sprintf","s__","firstLabelName","remainingLabelCount","showDropdownFooter","isSidebar","watch","handler","deep","newVal","dropdown","show","hide","setLabels","created","debouncedSearchKeyUpdate","_debounce","setSearchKey","DEFAULT_DEBOUNCE_AND_THROTTLE_MS","beforeDestroy","cancel","toggleDropdownContentsCreateView","toggleDropdownContent","_this$$refs$dropdown","$_popper","scheduleUpdate","handleDropdownHide","setFocus","header","hideDropdown","showDropdown","clearSearch","handleNewLabel","scopedSlots","_u","fn","preventDefault","apply","arguments","proxy","tag","callback","$$v","GlLabel","disabled","allowLabelRemove","supportsLockOnMerge","labelsFilterBasePath","labelsFilterParam","sortedSelectedLabels","_sortBy","isScopedLabel","buildFilterUrl","basePath","filterParam","encodeURIComponent","scopedLabel","allowScopedLabels","isLabelLocked","lock_on_merge","showCloseButton","removeLabel","labelId","description","DropdownValue","DropdownContents","EmbeddedLabelsList","SidebarEditableItem","mixins","glFeatureFlagsMixin","allowLabelEdit","iid","showEmbeddedLabelsList","issuableType","issuableSupportsLockOnMerge","contentIsOnViewport","issuable","labelsSelectInProgress","oldIid","sidebarExpandedOnClick","isLoading","issuableLabelIds","issuableLabels","_this$issuable","issuableId","_this$issuable2","isRealtimeEnabled","glFeatures","realtimeLabels","isLabelListEnabled","isLockOnMergeSupported","_this$issuable3","labelShortcutDescription","shouldDisableShortcuts","ISSUABLE_CHANGE_LABEL","labelShortcutKey","keysFor","labelTooltip","sanitize","issuableLabelsQueries","issuableQuery","queryVariables","TYPE_TEST_CASE","types","subscribeToMore","document","issuableLabelsSubscription","updateQuery","_","subscriptionData","issuableLabelsUpdated","oldVal","mounted","addEventListener","handleCollapsedValueClick","removeEventListener","handleDropdownClose","getUpdateVariables","collapseEditableItem","_this$$refs$editable","editable","collapse","_this","toggle","dropdownContents","DEBOUNCE_DROPDOWN_DELAY","labelIds","currentIid","updateVariables","projectPath","TYPE_ISSUE","TYPE_MERGE_REQUEST","operationMode","mutationOperationMode","replace","TYPE_EPIC","groupPath","addLabelIds","removeLabelIds","inputVariables","_this2","mutate","mutation","input","then","_data$updateIssuableL","_data$updateIssuableL2","_data$updateIssuableL3","updateIssuableLabels","errors","Error","catch","captureError","finally","getRemoveVariables","removeVariables","handleLabelRemove","class","_t","edit","i18n","unassigned","GlTooltip","GlTooltipDirective","canUpdate","isClassicSidebar","buttonId","initialLoading","tracking","property","canEdit","shouldShowConfirmationPopover","editTooltip","editAriaLabel","editKeyshortcuts","editButtonText","editTooltipText","editAriaLabelText","editKeyshortcutsText","destroyed","window","collapseWhenOffClick","collapseOnEscape","$el","expand","emitEvent","currentTarget","modifiers","GlIcon","disableLabels","labelsList","labelsString","slice","join","labelFilterUrl","lockOnMerge","handleCollapsedClick"],"mappings":"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","file":"42.49187b26.chunk.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-flex gl-break-anywhere\"},[_c('span',{staticClass:\"dropdown-label-box gl-top-0 gl-mr-3 gl-shrink-0\",style:({ 'background-color': _vm.label.color }),attrs:{\"data-testid\":\"label-color-box\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.label.title))])])\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!./label_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!./label_item.vue?vue&type=script&lang=js\"","<script>\nexport default {\n  props: {\n    label: {\n      type: Object,\n      required: true,\n    },\n  },\n};\n</script>\n\n<template>\n  <div class=\"gl-flex gl-break-anywhere\">\n    <span\n      class=\"dropdown-label-box gl-top-0 gl-mr-3 gl-shrink-0\"\n      :style=\"{ 'background-color': label.color }\"\n      data-testid=\"label-color-box\"\n    ></span>\n    <span>{{ label.title }}</span>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./label_item.vue?vue&type=template&id=486db2f8\"\nimport script from \"./label_item.vue?vue&type=script&lang=js\"\nexport * from \"./label_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('div',{attrs:{\"data-testid\":\"dropdown-footer\"}},[(_vm.allowLabelCreate)?_c('gl-dropdown-item',{attrs:{\"data-testid\":\"create-label-button\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.$emit('toggleDropdownContentsCreateView')}}},[_vm._v(\"\\n    \"+_vm._s(_vm.footerCreateLabelTitle)+\"\\n  \")]):_vm._e(),_vm._v(\" \"),(_vm.showManageLabelsItem)?_c('gl-dropdown-item',{attrs:{\"data-testid\":\"manage-labels-button\",\"href\":_vm.labelsManagePath},nativeOn:{\"!click\":function($event){$event.stopPropagation();}}},[_vm._v(\"\\n    \"+_vm._s(_vm.footerManageLabelTitle)+\"\\n  \")]):_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!./dropdown_footer.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!./dropdown_footer.vue?vue&type=script&lang=js\"","<script>\nimport { GlDropdownItem } from '@gitlab/ui';\n\nexport default {\n  components: {\n    GlDropdownItem,\n  },\n  inject: ['allowLabelCreate', 'labelsManagePath'],\n  props: {\n    footerCreateLabelTitle: {\n      type: String,\n      required: true,\n    },\n    footerManageLabelTitle: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  computed: {\n    showManageLabelsItem() {\n      return this.footerManageLabelTitle && this.labelsManagePath;\n    },\n  },\n};\n</script>\n\n<template>\n  <div data-testid=\"dropdown-footer\">\n    <gl-dropdown-item\n      v-if=\"allowLabelCreate\"\n      data-testid=\"create-label-button\"\n      @click.capture.native.stop=\"$emit('toggleDropdownContentsCreateView')\"\n    >\n      {{ footerCreateLabelTitle }}\n    </gl-dropdown-item>\n    <gl-dropdown-item\n      v-if=\"showManageLabelsItem\"\n      data-testid=\"manage-labels-button\"\n      :href=\"labelsManagePath\"\n      @click.capture.native.stop\n    >\n      {{ footerManageLabelTitle }}\n    </gl-dropdown-item>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_footer.vue?vue&type=template&id=77bef9ca\"\nimport script from \"./dropdown_footer.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_footer.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',{attrs:{\"data-testid\":\"dropdown-header\"}},[(!_vm.isStandalone)?_c('div',{staticClass:\"dropdown-title gl-mb-0 gl-flex gl-items-center gl-pb-4 gl-pt-2\",attrs:{\"data-testid\":\"dropdown-header-title\"}},[(_vm.showDropdownContentsCreateView)?_c('gl-button',{staticClass:\"js-btn-back dropdown-header-button !gl-p-0\",attrs:{\"aria-label\":_vm.__('Go back'),\"variant\":\"link\",\"size\":\"small\",\"icon\":\"arrow-left\",\"data-testid\":\"go-back-button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('toggleDropdownContentsCreateView')}}}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"gl-grow\"},[_vm._v(_vm._s(_vm.dropdownTitle))]),_vm._v(\" \"),_c('gl-button',{staticClass:\"dropdown-header-button !gl-p-0\",attrs:{\"aria-label\":_vm.__('Close'),\"variant\":\"link\",\"size\":\"small\",\"icon\":\"close\",\"data-testid\":\"close-labels-dropdown-button\"},on:{\"click\":function($event){return _vm.$emit('closeDropdown')}}})],1):_vm._e(),_vm._v(\" \"),(!_vm.showDropdownContentsCreateView)?_c('gl-search-box-by-type',{ref:\"searchInput\",attrs:{\"value\":_vm.searchKey,\"placeholder\":_vm.__('Search labels'),\"disabled\":_vm.labelsFetchInProgress,\"data-testid\":\"dropdown-input-field\"},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.$emit('searchEnter', $event)}}}):_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!./dropdown_header.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!./dropdown_header.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlSearchBoxByType } from '@gitlab/ui';\n\nexport default {\n  components: {\n    GlButton,\n    GlSearchBoxByType,\n  },\n  props: {\n    labelsCreateTitle: {\n      type: String,\n      required: true,\n    },\n    labelsListTitle: {\n      type: String,\n      required: true,\n    },\n    showDropdownContentsCreateView: {\n      type: Boolean,\n      required: true,\n    },\n    labelsFetchInProgress: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    searchKey: {\n      type: String,\n      required: true,\n    },\n    isStandalone: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    dropdownTitle() {\n      return this.showDropdownContentsCreateView ? this.labelsCreateTitle : this.labelsListTitle;\n    },\n  },\n  methods: {\n    focusInput() {\n      this.$refs.searchInput?.focusInput();\n    },\n  },\n};\n</script>\n\n<template>\n  <div data-testid=\"dropdown-header\">\n    <div\n      v-if=\"!isStandalone\"\n      class=\"dropdown-title gl-mb-0 gl-flex gl-items-center gl-pb-4 gl-pt-2\"\n      data-testid=\"dropdown-header-title\"\n    >\n      <gl-button\n        v-if=\"showDropdownContentsCreateView\"\n        :aria-label=\"__('Go back')\"\n        variant=\"link\"\n        size=\"small\"\n        class=\"js-btn-back dropdown-header-button !gl-p-0\"\n        icon=\"arrow-left\"\n        data-testid=\"go-back-button\"\n        @click.stop=\"$emit('toggleDropdownContentsCreateView')\"\n      />\n      <span class=\"gl-grow\">{{ dropdownTitle }}</span>\n      <gl-button\n        :aria-label=\"__('Close')\"\n        variant=\"link\"\n        size=\"small\"\n        class=\"dropdown-header-button !gl-p-0\"\n        icon=\"close\"\n        data-testid=\"close-labels-dropdown-button\"\n        @click=\"$emit('closeDropdown')\"\n      />\n    </div>\n    <gl-search-box-by-type\n      v-if=\"!showDropdownContentsCreateView\"\n      ref=\"searchInput\"\n      :value=\"searchKey\"\n      :placeholder=\"__('Search labels')\"\n      :disabled=\"labelsFetchInProgress\"\n      data-testid=\"dropdown-input-field\"\n      @input=\"$emit('input', $event)\"\n      @keydown.enter=\"$emit('searchEnter', $event)\"\n    />\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_header.vue?vue&type=template&id=97abd698\"\nimport script from \"./dropdown_header.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_header.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\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableLabelsUpdatedEE\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableLabelsUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Issue\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MergeRequest\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Epic\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":495}};\n    doc.loc.source = {\"body\":\"#import \\\"~/graphql_shared/fragments/label.fragment.graphql\\\"\\n\\nsubscription issuableLabelsUpdatedEE($issuableId: IssuableID!) {\\n  issuableLabelsUpdated(issuableId: $issuableId) {\\n    ... on Issue {\\n      id\\n      labels {\\n        nodes {\\n          ...Label\\n        }\\n      }\\n    }\\n    ... on MergeRequest {\\n      id\\n      labels {\\n        nodes {\\n          ...Label\\n        }\\n      }\\n    }\\n    ... on Epic {\\n      id\\n      labels {\\n        nodes {\\n          ...Label\\n        }\\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(\"~/graphql_shared/fragments/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[\"issuableLabelsUpdatedEE\"] = oneQuery(doc, \"issuableLabelsUpdatedEE\");\n        \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"labels-select-wrapper gl-relative\",class:{\n    'is-standalone': _vm.isDropdownVariantStandalone(_vm.variant),\n    'is-embedded': _vm.isDropdownVariantEmbedded(_vm.variant),\n  },attrs:{\"data-testid\":\"sidebar-labels\"}},[(_vm.isDropdownVariantSidebar(_vm.variant))?[_c('sidebar-editable-item',{ref:\"editable\",attrs:{\"title\":_vm.__('Labels'),\"edit-tooltip\":_vm.labelTooltip,\"edit-aria-label\":_vm.labelShortcutDescription,\"edit-keyshortcuts\":_vm.labelShortcutKey,\"loading\":_vm.isLoading,\"can-edit\":_vm.allowLabelEdit},on:{\"open\":function($event){_vm.oldIid = null}},scopedSlots:_vm._u([{key:\"collapsed\",fn:function(){return [_c('dropdown-value',{staticClass:\"gl-pt-2\",attrs:{\"disable-labels\":_vm.labelsSelectInProgress,\"selected-labels\":_vm.issuableLabels,\"allow-label-remove\":_vm.allowLabelRemove,\"supports-lock-on-merge\":_vm.isLockOnMergeSupported,\"labels-filter-base-path\":_vm.labelsFilterBasePath,\"labels-filter-param\":_vm.labelsFilterParam},on:{\"onLabelRemove\":_vm.handleLabelRemove,\"onCollapsedValueClick\":_vm.handleCollapsedValueClick}},[_vm._t(\"default\")],2)]},proxy:true},{key:\"default\",fn:function({ edit }){return [_c('dropdown-value',{staticClass:\"gl-mb-2\",attrs:{\"disable-labels\":_vm.labelsSelectInProgress,\"selected-labels\":_vm.issuableLabels,\"allow-label-remove\":_vm.allowLabelRemove,\"supports-lock-on-merge\":_vm.isLockOnMergeSupported,\"labels-filter-base-path\":_vm.labelsFilterBasePath,\"labels-filter-param\":_vm.labelsFilterParam},on:{\"onLabelRemove\":_vm.handleLabelRemove}},[_vm._t(\"default\")],2),_vm._v(\" \"),_c('dropdown-contents',{ref:\"dropdownContents\",staticClass:\"gl-mt-3 gl-w-full\",attrs:{\"dropdown-button-text\":_vm.dropdownButtonText,\"allow-multiselect\":_vm.allowMultiselect,\"labels-list-title\":_vm.labelsListTitle,\"footer-create-label-title\":_vm.footerCreateLabelTitle,\"footer-manage-label-title\":_vm.footerManageLabelTitle,\"labels-create-title\":_vm.labelsCreateTitle,\"selected-labels\":_vm.issuableLabels,\"variant\":_vm.variant,\"is-visible\":edit,\"full-path\":_vm.fullPath,\"workspace-type\":_vm.workspaceType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"label-create-type\":_vm.labelCreateType},on:{\"setLabels\":_vm.handleDropdownClose,\"closeDropdown\":_vm.collapseEditableItem}})]}}],null,true)})]:[_c('dropdown-contents',{ref:\"dropdownContents\",staticClass:\"issuable-form-select-holder\",attrs:{\"dropdown-button-text\":_vm.dropdownButtonText,\"allow-multiselect\":_vm.allowMultiselect,\"labels-list-title\":_vm.labelsListTitle,\"footer-create-label-title\":_vm.footerCreateLabelTitle,\"footer-manage-label-title\":_vm.footerManageLabelTitle,\"labels-create-title\":_vm.labelsCreateTitle,\"selected-labels\":_vm.issuableLabels,\"variant\":_vm.variant,\"full-path\":_vm.fullPath,\"workspace-type\":_vm.workspaceType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"label-create-type\":_vm.labelCreateType},on:{\"setLabels\":_vm.handleDropdownClose}}),_vm._v(\" \"),(_vm.isLabelListEnabled)?_c('embedded-labels-list',{attrs:{\"disabled\":_vm.labelsSelectInProgress,\"selected-labels\":_vm.issuableLabels,\"allow-label-remove\":_vm.allowLabelRemove,\"supports-lock-on-merge\":_vm.isLockOnMergeSupported,\"labels-filter-base-path\":_vm.labelsFilterBasePath,\"labels-filter-param\":_vm.labelsFilterParam},on:{\"onLabelRemove\":_vm.handleLabelRemove}}):_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!./dropdown_contents_labels_view.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!./dropdown_contents_labels_view.vue?vue&type=script&lang=js\"","<script>\nimport { GlDropdownItem, GlLoadingIcon, GlIntersectionObserver } from '@gitlab/ui';\nimport fuzzaldrinPlus from 'fuzzaldrin-plus';\nimport { createAlert } from '~/alert';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { __ } from '~/locale';\nimport { workspaceLabelsQueries } from '../../../queries/constants';\nimport LabelItem from './label_item.vue';\n\nexport default {\n  components: {\n    GlDropdownItem,\n    GlLoadingIcon,\n    GlIntersectionObserver,\n    LabelItem,\n  },\n  model: {\n    prop: 'localSelectedLabels',\n  },\n  props: {\n    allowMultiselect: {\n      type: Boolean,\n      required: true,\n    },\n    localSelectedLabels: {\n      type: Array,\n      required: true,\n    },\n    fullPath: {\n      type: String,\n      required: true,\n    },\n    searchKey: {\n      type: String,\n      required: true,\n    },\n    workspaceType: {\n      type: String,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      labels: [],\n      isVisible: false,\n    };\n  },\n  apollo: {\n    labels: {\n      query() {\n        return workspaceLabelsQueries[this.workspaceType].query;\n      },\n      variables() {\n        return {\n          fullPath: this.fullPath,\n          searchTerm: this.searchKey,\n        };\n      },\n      skip() {\n        return this.searchKey.length === 1 || !this.isVisible;\n      },\n      update: (data) => data.workspace?.labels?.nodes || [],\n      error() {\n        createAlert({ message: __('Error fetching labels.') });\n      },\n    },\n  },\n  computed: {\n    labelsFetchInProgress() {\n      return this.$apollo.queries.labels.loading;\n    },\n    localSelectedLabelsIds() {\n      return this.localSelectedLabels.map((label) => getIdFromGraphQLId(label.id));\n    },\n    visibleLabels() {\n      if (this.searchKey) {\n        return fuzzaldrinPlus.filter(this.labels, this.searchKey, {\n          key: ['title'],\n        });\n      }\n      return this.labels;\n    },\n    showNoMatchingResultsMessage() {\n      return Boolean(this.searchKey) && this.visibleLabels.length === 0;\n    },\n    shouldHighlightFirstItem() {\n      return this.searchKey !== '' && this.visibleLabels.length > 0;\n    },\n  },\n  methods: {\n    isLabelSelected(label) {\n      return this.localSelectedLabelsIds.includes(getIdFromGraphQLId(label.id));\n    },\n    /**\n     * This method scrolls item from dropdown into\n     * the view if it is off the viewable area of the\n     * container.\n     */\n    scrollIntoViewIfNeeded() {\n      const highlightedLabel = this.$refs.labelsListContainer.querySelector('.is-focused');\n\n      if (highlightedLabel) {\n        const container = this.$refs.labelsListContainer.getBoundingClientRect();\n        const label = highlightedLabel.getBoundingClientRect();\n\n        if (label.bottom > container.bottom) {\n          this.$refs.labelsListContainer.scrollTop += label.bottom - container.bottom;\n        } else if (label.top < container.top) {\n          this.$refs.labelsListContainer.scrollTop -= container.top - label.top;\n        }\n      }\n    },\n    updateSelectedLabels(label) {\n      let labels;\n      if (this.isLabelSelected(label)) {\n        labels = this.localSelectedLabels.filter(\n          ({ id }) => id !== getIdFromGraphQLId(label.id) && id !== label.id,\n        );\n      } else {\n        labels = [...this.localSelectedLabels, label];\n      }\n      this.$emit('input', labels);\n    },\n    handleLabelClick(label) {\n      this.updateSelectedLabels(label);\n      if (!this.allowMultiselect) {\n        this.$emit('closeDropdown', this.localSelectedLabels);\n      }\n    },\n    onDropdownAppear() {\n      this.isVisible = true;\n    },\n    selectFirstItem() {\n      if (this.shouldHighlightFirstItem) {\n        this.handleLabelClick(this.visibleLabels[0]);\n      }\n    },\n    handleFocus(event, index) {\n      if (index === 0 && event.target.classList.contains('is-focused')) {\n        event.target.classList.remove('is-focused');\n\n        // Focus next element (if available) as the first item was already focused.\n        if (event.target.parentNode?.nextElementSibling?.querySelector('button')) {\n          event.target.parentNode.nextElementSibling.querySelector('button').focus();\n        }\n      }\n    },\n  },\n};\n</script>\n\n<template>\n  <gl-intersection-observer @appear=\"onDropdownAppear\">\n    <div class=\"js-labels-list\">\n      <div ref=\"labelsListContainer\" data-testid=\"dropdown-content\">\n        <gl-loading-icon\n          v-if=\"labelsFetchInProgress\"\n          class=\"labels-fetch-loading gl-mb-3 gl-h-full gl-w-full gl-items-center\"\n          size=\"sm\"\n        />\n        <template v-else>\n          <gl-dropdown-item\n            v-for=\"(label, index) in visibleLabels\"\n            :key=\"label.id\"\n            :is-checked=\"isLabelSelected(label)\"\n            is-check-item\n            :active=\"shouldHighlightFirstItem && index === 0\"\n            active-class=\"is-focused\"\n            data-testid=\"labels-list\"\n            @focus.capture.native=\"handleFocus($event, index)\"\n            @click.capture.native.stop=\"handleLabelClick(label)\"\n          >\n            <label-item :label=\"label\" />\n          </gl-dropdown-item>\n          <gl-dropdown-item\n            v-show=\"showNoMatchingResultsMessage\"\n            class=\"gl-p-3 gl-text-center\"\n            data-testid=\"no-results\"\n          >\n            {{ __('No matching results') }}\n          </gl-dropdown-item>\n        </template>\n      </div>\n    </div>\n  </gl-intersection-observer>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_contents_labels_view.vue?vue&type=template&id=c7ae369c\"\nimport script from \"./dropdown_contents_labels_view.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_contents_labels_view.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-intersection-observer',{on:{\"appear\":_vm.onDropdownAppear}},[_c('div',{staticClass:\"js-labels-list\"},[_c('div',{ref:\"labelsListContainer\",attrs:{\"data-testid\":\"dropdown-content\"}},[(_vm.labelsFetchInProgress)?_c('gl-loading-icon',{staticClass:\"labels-fetch-loading gl-mb-3 gl-h-full gl-w-full gl-items-center\",attrs:{\"size\":\"sm\"}}):[_vm._l((_vm.visibleLabels),function(label,index){return _c('gl-dropdown-item',{key:label.id,attrs:{\"is-checked\":_vm.isLabelSelected(label),\"is-check-item\":\"\",\"active\":_vm.shouldHighlightFirstItem && index === 0,\"active-class\":\"is-focused\",\"data-testid\":\"labels-list\"},nativeOn:{\"!focus\":function($event){return _vm.handleFocus($event, index)},\"!click\":function($event){$event.stopPropagation();return _vm.handleLabelClick(label)}}},[_c('label-item',{attrs:{\"label\":label}})],1)}),_vm._v(\" \"),_c('gl-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showNoMatchingResultsMessage),expression:\"showNoMatchingResultsMessage\"}],staticClass:\"gl-p-3 gl-text-center\",attrs:{\"data-testid\":\"no-results\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.__('No matching results'))+\"\\n        \")])]],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VARIANT_EMBEDDED, VARIANT_SIDEBAR, VARIANT_STANDALONE } from './constants';\n\n/**\n * Returns boolean representing whether dropdown variant\n * is `sidebar`\n * @param {string} variant\n */\nexport const isDropdownVariantSidebar = (variant) => variant === VARIANT_SIDEBAR;\n\n/**\n * Returns boolean representing whether dropdown variant\n * is `standalone`\n * @param {string} variant\n */\nexport const isDropdownVariantStandalone = (variant) => variant === VARIANT_STANDALONE;\n\n/**\n * Returns boolean representing whether dropdown variant\n * is `embedded`\n * @param {string} variant\n */\nexport const isDropdownVariantEmbedded = (variant) => variant === VARIANT_EMBEDDED;\n","<script>\nimport { GlButton, GlDropdown, GlDropdownItem, GlLink } from '@gitlab/ui';\nimport { debounce } from 'lodash';\nimport { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants';\nimport { __, s__, sprintf } from '~/locale';\nimport DropdownContentsCreateView from './dropdown_contents_create_view.vue';\nimport DropdownContentsLabelsView from './dropdown_contents_labels_view.vue';\nimport DropdownFooter from './dropdown_footer.vue';\nimport DropdownHeader from './dropdown_header.vue';\nimport { isDropdownVariantStandalone, isDropdownVariantSidebar } from './utils';\n\nexport default {\n  components: {\n    DropdownContentsLabelsView,\n    DropdownContentsCreateView,\n    DropdownHeader,\n    DropdownFooter,\n    GlButton,\n    GlDropdown,\n    GlDropdownItem,\n    GlLink,\n  },\n  inject: {\n    toggleAttrs: {\n      default: () => ({}),\n    },\n  },\n  props: {\n    labelsCreateTitle: {\n      type: String,\n      required: true,\n    },\n    selectedLabels: {\n      type: Array,\n      required: true,\n    },\n    allowMultiselect: {\n      type: Boolean,\n      required: true,\n    },\n    labelsListTitle: {\n      type: String,\n      required: true,\n    },\n    dropdownButtonText: {\n      type: String,\n      required: true,\n    },\n    footerCreateLabelTitle: {\n      type: String,\n      required: true,\n    },\n    footerManageLabelTitle: {\n      type: String,\n      required: true,\n    },\n    variant: {\n      type: String,\n      required: true,\n    },\n    isVisible: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    fullPath: {\n      type: String,\n      required: true,\n    },\n    workspaceType: {\n      type: String,\n      required: true,\n    },\n    attrWorkspacePath: {\n      type: String,\n      required: true,\n    },\n    labelCreateType: {\n      type: String,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      showDropdownContentsCreateView: false,\n      localSelectedLabels: [...this.selectedLabels],\n      isDirty: false,\n      searchKey: '',\n    };\n  },\n  computed: {\n    dropdownContentsView() {\n      if (this.showDropdownContentsCreateView) {\n        return 'dropdown-contents-create-view';\n      }\n      return 'dropdown-contents-labels-view';\n    },\n    dropdownTitle() {\n      return this.showDropdownContentsCreateView ? this.labelsCreateTitle : this.labelsListTitle;\n    },\n    buttonText() {\n      if (!this.localSelectedLabels.length) {\n        return this.dropdownButtonText || __('Label');\n      }\n      if (this.localSelectedLabels.length > 1) {\n        return sprintf(s__('LabelSelect|%{firstLabelName} +%{remainingLabelCount} more'), {\n          firstLabelName: this.localSelectedLabels[0].title,\n          remainingLabelCount: this.localSelectedLabels.length - 1,\n        });\n      }\n      return this.localSelectedLabels[0].title;\n    },\n    showDropdownFooter() {\n      return !this.showDropdownContentsCreateView && !this.isStandalone;\n    },\n    isStandalone() {\n      return isDropdownVariantStandalone(this.variant);\n    },\n    isSidebar() {\n      return isDropdownVariantSidebar(this.variant);\n    },\n  },\n  watch: {\n    localSelectedLabels: {\n      handler() {\n        this.isDirty = true;\n      },\n      deep: true,\n    },\n    isVisible(newVal) {\n      if (newVal) {\n        this.$refs.dropdown.show();\n        this.isDirty = false;\n        this.localSelectedLabels = this.selectedLabels;\n      } else {\n        this.$refs.dropdown.hide();\n        this.setLabels();\n      }\n    },\n    selectedLabels(newVal) {\n      if (!this.isDirty || !this.isSidebar) {\n        this.localSelectedLabels = newVal;\n      }\n    },\n  },\n  created() {\n    this.debouncedSearchKeyUpdate = debounce(this.setSearchKey, DEFAULT_DEBOUNCE_AND_THROTTLE_MS);\n  },\n  beforeDestroy() {\n    this.debouncedSearchKeyUpdate.cancel();\n  },\n  methods: {\n    toggleDropdownContentsCreateView() {\n      this.showDropdownContentsCreateView = !this.showDropdownContentsCreateView;\n    },\n    toggleDropdownContent() {\n      this.toggleDropdownContentsCreateView();\n      // Required to recalculate dropdown position as its size changes\n      if (this.$refs.dropdown?.$refs.dropdown) {\n        this.$refs.dropdown.$refs.dropdown.$_popper.scheduleUpdate();\n      }\n    },\n    setLabels() {\n      if (!this.isDirty) {\n        return;\n      }\n      this.$emit('setLabels', this.localSelectedLabels);\n    },\n    handleDropdownHide() {\n      this.$emit('closeDropdown');\n      if (!this.isSidebar) {\n        this.setLabels();\n      }\n    },\n    setSearchKey(value) {\n      this.searchKey = value;\n    },\n    setFocus() {\n      this.$refs.header.focusInput();\n    },\n    hideDropdown() {\n      this.$refs.dropdown.hide();\n    },\n    showDropdown() {\n      this.$refs.dropdown.show();\n    },\n    clearSearch() {\n      if (!this.allowMultiselect || this.isStandalone) {\n        return;\n      }\n      this.searchKey = '';\n      this.setFocus();\n    },\n    selectFirstItem() {\n      this.$refs.dropdownContentsView.selectFirstItem();\n    },\n    handleNewLabel(label) {\n      this.localSelectedLabels = [...this.localSelectedLabels, label];\n      this.toggleDropdownContent();\n      this.clearSearch();\n    },\n  },\n};\n</script>\n\n<template>\n  <gl-dropdown\n    ref=\"dropdown\"\n    :text=\"buttonText\"\n    block\n    data-testid=\"labels-select-dropdown-contents\"\n    :toggle-attrs=\"toggleAttrs\"\n    @hide=\"handleDropdownHide\"\n    @shown=\"setFocus\"\n  >\n    <template #header>\n      <dropdown-header\n        ref=\"header\"\n        :search-key=\"searchKey\"\n        :labels-create-title=\"labelsCreateTitle\"\n        :labels-list-title=\"labelsListTitle\"\n        :show-dropdown-contents-create-view=\"showDropdownContentsCreateView\"\n        :is-standalone=\"isStandalone\"\n        @toggleDropdownContentsCreateView=\"toggleDropdownContent\"\n        @closeDropdown=\"hideDropdown\"\n        @input=\"debouncedSearchKeyUpdate\"\n        @searchEnter.prevent=\"selectFirstItem\"\n      />\n    </template>\n    <template #default>\n      <component\n        :is=\"dropdownContentsView\"\n        ref=\"dropdownContentsView\"\n        v-model=\"localSelectedLabels\"\n        :search-key=\"searchKey\"\n        :allow-multiselect=\"allowMultiselect\"\n        :full-path=\"fullPath\"\n        :workspace-type=\"workspaceType\"\n        :attr-workspace-path=\"attrWorkspacePath\"\n        :label-create-type=\"labelCreateType\"\n        @hideCreateView=\"toggleDropdownContent\"\n        @labelCreated=\"handleNewLabel\"\n        @input=\"clearSearch\"\n      />\n    </template>\n    <template #footer>\n      <dropdown-footer\n        v-if=\"showDropdownFooter\"\n        :footer-create-label-title=\"footerCreateLabelTitle\"\n        :footer-manage-label-title=\"footerManageLabelTitle\"\n        @toggleDropdownContentsCreateView=\"toggleDropdownContent\"\n      />\n    </template>\n  </gl-dropdown>\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!./dropdown_contents.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!./dropdown_contents.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./dropdown_contents.vue?vue&type=template&id=bc30b3ca\"\nimport script from \"./dropdown_contents.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_contents.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-dropdown',{ref:\"dropdown\",attrs:{\"text\":_vm.buttonText,\"block\":\"\",\"data-testid\":\"labels-select-dropdown-contents\",\"toggle-attrs\":_vm.toggleAttrs},on:{\"hide\":_vm.handleDropdownHide,\"shown\":_vm.setFocus},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('dropdown-header',{ref:\"header\",attrs:{\"search-key\":_vm.searchKey,\"labels-create-title\":_vm.labelsCreateTitle,\"labels-list-title\":_vm.labelsListTitle,\"show-dropdown-contents-create-view\":_vm.showDropdownContentsCreateView,\"is-standalone\":_vm.isStandalone},on:{\"toggleDropdownContentsCreateView\":_vm.toggleDropdownContent,\"closeDropdown\":_vm.hideDropdown,\"input\":_vm.debouncedSearchKeyUpdate,\"searchEnter\":function($event){$event.preventDefault();return _vm.selectFirstItem.apply(null, arguments)}}})]},proxy:true},{key:\"default\",fn:function(){return [_c(_vm.dropdownContentsView,{ref:\"dropdownContentsView\",tag:\"component\",attrs:{\"search-key\":_vm.searchKey,\"allow-multiselect\":_vm.allowMultiselect,\"full-path\":_vm.fullPath,\"workspace-type\":_vm.workspaceType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"label-create-type\":_vm.labelCreateType},on:{\"hideCreateView\":_vm.toggleDropdownContent,\"labelCreated\":_vm.handleNewLabel,\"input\":_vm.clearSearch},model:{value:(_vm.localSelectedLabels),callback:function ($$v) {_vm.localSelectedLabels=$$v},expression:\"localSelectedLabels\"}})]},proxy:true},{key:\"footer\",fn:function(){return [(_vm.showDropdownFooter)?_c('dropdown-footer',{attrs:{\"footer-create-label-title\":_vm.footerCreateLabelTitle,\"footer-manage-label-title\":_vm.footerManageLabelTitle},on:{\"toggleDropdownContentsCreateView\":_vm.toggleDropdownContent}}):_vm._e()]},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!./embedded_labels_list.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!./embedded_labels_list.vue?vue&type=script&lang=js\"","<script>\nimport { GlLabel } from '@gitlab/ui';\nimport { sortBy } from 'lodash';\nimport { isScopedLabel } from '~/lib/utils/common_utils';\n\nexport default {\n  components: {\n    GlLabel,\n  },\n  inject: ['allowScopedLabels'],\n  props: {\n    disabled: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    selectedLabels: {\n      type: Array,\n      required: true,\n    },\n    allowLabelRemove: {\n      type: Boolean,\n      required: true,\n    },\n    supportsLockOnMerge: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    labelsFilterBasePath: {\n      type: String,\n      required: true,\n    },\n    labelsFilterParam: {\n      type: String,\n      required: true,\n    },\n  },\n  computed: {\n    sortedSelectedLabels() {\n      return sortBy(this.selectedLabels, (label) => isScopedLabel(label));\n    },\n  },\n  methods: {\n    buildFilterUrl({ title }) {\n      const { labelsFilterBasePath: basePath, labelsFilterParam: filterParam } = this;\n\n      return `${basePath}?${filterParam}[]=${encodeURIComponent(title)}`;\n    },\n    scopedLabel(label) {\n      return this.allowScopedLabels && isScopedLabel(label);\n    },\n    isLabelLocked(label) {\n      // These particular labels were initialized from HAML data, so the attributes are\n      // in snake case instead of camel case\n      return label.lock_on_merge && this.supportsLockOnMerge;\n    },\n    showCloseButton(label) {\n      return this.allowLabelRemove && !this.isLabelLocked(label);\n    },\n    removeLabel(labelId) {\n      this.$emit('onLabelRemove', labelId);\n    },\n  },\n};\n</script>\n\n<template>\n  <div class=\"gl-mt-3\" data-testid=\"embedded-labels-list\">\n    <gl-label\n      v-for=\"label in sortedSelectedLabels\"\n      :key=\"label.id\"\n      class=\"gl-mb-2 gl-mr-2\"\n      :data-qa-label-name=\"label.title\"\n      :title=\"label.title\"\n      :description=\"label.description\"\n      :background-color=\"label.color\"\n      :target=\"buildFilterUrl(label)\"\n      :scoped=\"scopedLabel(label)\"\n      :show-close-button=\"showCloseButton(label)\"\n      :disabled=\"disabled\"\n      tooltip-placement=\"top\"\n      @close=\"removeLabel(label.id)\"\n    />\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./embedded_labels_list.vue?vue&type=template&id=4cf671a6\"\nimport script from \"./embedded_labels_list.vue?vue&type=script&lang=js\"\nexport * from \"./embedded_labels_list.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:\"gl-mt-3\",attrs:{\"data-testid\":\"embedded-labels-list\"}},_vm._l((_vm.sortedSelectedLabels),function(label){return _c('gl-label',{key:label.id,staticClass:\"gl-mb-2 gl-mr-2\",attrs:{\"data-qa-label-name\":label.title,\"title\":label.title,\"description\":label.description,\"background-color\":label.color,\"target\":_vm.buildFilterUrl(label),\"scoped\":_vm.scopedLabel(label),\"show-close-button\":_vm.showCloseButton(label),\"disabled\":_vm.disabled,\"tooltip-placement\":\"top\"},on:{\"close\":function($event){return _vm.removeLabel(label.id)}}})}),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!./labels_select_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!./labels_select_root.vue?vue&type=script&lang=js\"","<script>\nimport { debounce } from 'lodash';\nimport issuableLabelsSubscription from 'ee_else_ce/sidebar/queries/issuable_labels.subscription.graphql';\nimport { mutationOperationMode, getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { createAlert } from '~/alert';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport { TYPE_EPIC, TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_TEST_CASE } from '~/issues/constants';\n\nimport { __ } from '~/locale';\nimport { keysFor, ISSUABLE_CHANGE_LABEL } from '~/behaviors/shortcuts/keybindings';\nimport { shouldDisableShortcuts } from '~/behaviors/shortcuts/shortcuts_toggle';\nimport { sanitize } from '~/lib/dompurify';\nimport { issuableLabelsQueries } from '../../../queries/constants';\nimport SidebarEditableItem from '../../sidebar_editable_item.vue';\nimport { DEBOUNCE_DROPDOWN_DELAY, VARIANT_SIDEBAR } from './constants';\nimport DropdownContents from './dropdown_contents.vue';\nimport DropdownValue from './dropdown_value.vue';\nimport EmbeddedLabelsList from './embedded_labels_list.vue';\nimport {\n  isDropdownVariantSidebar,\n  isDropdownVariantStandalone,\n  isDropdownVariantEmbedded,\n} from './utils';\n\nexport default {\n  components: {\n    DropdownValue,\n    DropdownContents,\n    EmbeddedLabelsList,\n    SidebarEditableItem,\n  },\n  mixins: [glFeatureFlagsMixin()],\n  inject: {\n    allowLabelEdit: {\n      default: false,\n    },\n  },\n  props: {\n    iid: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    fullPath: {\n      type: String,\n      required: true,\n    },\n    allowLabelRemove: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    allowMultiselect: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    showEmbeddedLabelsList: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    variant: {\n      type: String,\n      required: false,\n      default: VARIANT_SIDEBAR,\n    },\n    labelsFilterBasePath: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    labelsFilterParam: {\n      type: String,\n      required: false,\n      default: 'label_name',\n    },\n    dropdownButtonText: {\n      type: String,\n      required: false,\n      default: __('Label'),\n    },\n    labelsListTitle: {\n      type: String,\n      required: false,\n      default: __('Select labels'),\n    },\n    labelsCreateTitle: {\n      type: String,\n      required: false,\n      default: __('Create group label'),\n    },\n    footerCreateLabelTitle: {\n      type: String,\n      required: false,\n      default: __('Create group label'),\n    },\n    footerManageLabelTitle: {\n      type: String,\n      required: false,\n      default: __('Manage group labels'),\n    },\n    issuableType: {\n      type: String,\n      required: true,\n    },\n    issuableSupportsLockOnMerge: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    workspaceType: {\n      type: String,\n      required: true,\n    },\n    attrWorkspacePath: {\n      type: String,\n      required: true,\n    },\n    labelCreateType: {\n      type: String,\n      required: true,\n    },\n    selectedLabels: {\n      type: Array,\n      required: false,\n      default: () => [],\n    },\n  },\n  data() {\n    return {\n      contentIsOnViewport: true,\n      issuable: null,\n      labelsSelectInProgress: false,\n      oldIid: null,\n      sidebarExpandedOnClick: false,\n    };\n  },\n  computed: {\n    isLoading() {\n      return this.labelsSelectInProgress || this.$apollo.queries.issuable.loading;\n    },\n    issuableLabelIds() {\n      return this.issuableLabels.map((label) => label.id);\n    },\n    issuableLabels() {\n      if (this.iid !== '') {\n        return this.issuable?.labels.nodes || [];\n      }\n\n      return this.selectedLabels || [];\n    },\n    issuableId() {\n      return this.issuable?.id;\n    },\n    isRealtimeEnabled() {\n      return this.glFeatures.realtimeLabels;\n    },\n    isLabelListEnabled() {\n      return this.showEmbeddedLabelsList && isDropdownVariantEmbedded(this.variant);\n    },\n    isLockOnMergeSupported() {\n      return this.issuableSupportsLockOnMerge || this.issuable?.supportsLockOnMerge;\n    },\n    labelShortcutDescription() {\n      return shouldDisableShortcuts() ? null : ISSUABLE_CHANGE_LABEL.description;\n    },\n    labelShortcutKey() {\n      return shouldDisableShortcuts() ? null : keysFor(ISSUABLE_CHANGE_LABEL)[0];\n    },\n    labelTooltip() {\n      const description = this.labelShortcutDescription;\n      const key = this.labelShortcutKey;\n      return shouldDisableShortcuts()\n        ? null\n        : sanitize(`${description} <kbd class=\"flat gl-ml-1\" aria-hidden=true>${key}</kbd>`);\n    },\n  },\n  apollo: {\n    issuable: {\n      query() {\n        return issuableLabelsQueries[this.issuableType].issuableQuery;\n      },\n      skip() {\n        return !isDropdownVariantSidebar(this.variant) || !this.iid;\n      },\n      variables() {\n        const queryVariables = {\n          iid: this.iid,\n          fullPath: this.fullPath,\n        };\n\n        if (this.issuableType === TYPE_TEST_CASE) {\n          queryVariables.types = ['TEST_CASE'];\n        }\n\n        return queryVariables;\n      },\n      update(data) {\n        return data.workspace?.issuable;\n      },\n      error() {\n        createAlert({ message: __('Error fetching labels.') });\n      },\n      subscribeToMore: {\n        document() {\n          return issuableLabelsSubscription;\n        },\n        variables() {\n          return {\n            issuableId: this.issuableId,\n          };\n        },\n        skip() {\n          return !this.issuableId || !this.isDropdownVariantSidebar;\n        },\n        updateQuery(\n          _,\n          {\n            subscriptionData: {\n              data: { issuableLabelsUpdated },\n            },\n          },\n        ) {\n          if (issuableLabelsUpdated) {\n            const {\n              id,\n              labels: { nodes },\n            } = issuableLabelsUpdated;\n            this.$emit('updateSelectedLabels', { id, labels: nodes });\n          }\n        },\n      },\n    },\n  },\n  watch: {\n    iid(_, oldVal) {\n      this.oldIid = oldVal;\n    },\n  },\n  mounted() {\n    document.addEventListener('toggleSidebarRevealLabelsDropdown', this.handleCollapsedValueClick);\n  },\n  beforeDestroy() {\n    document.removeEventListener(\n      'toggleSidebarRevealLabelsDropdown',\n      this.handleCollapsedValueClick,\n    );\n  },\n  methods: {\n    handleDropdownClose(labels) {\n      if (this.iid !== '') {\n        this.updateSelectedLabels(this.getUpdateVariables(labels));\n      } else {\n        this.$emit('updateSelectedLabels', { labels });\n      }\n\n      this.collapseEditableItem();\n    },\n    collapseEditableItem() {\n      this.$refs.editable?.collapse();\n      if (this.sidebarExpandedOnClick) {\n        this.sidebarExpandedOnClick = false;\n        this.$emit('toggleCollapse');\n      }\n    },\n    handleCollapsedValueClick() {\n      this.sidebarExpandedOnClick = true;\n      this.$emit('toggleCollapse');\n      debounce(() => {\n        this.$refs.editable.toggle();\n        this.$refs.dropdownContents.showDropdown();\n      }, DEBOUNCE_DROPDOWN_DELAY)();\n    },\n    getUpdateVariables(labels) {\n      let labelIds = [];\n\n      labelIds = labels.map(({ id }) => id);\n      const currentIid = this.oldIid || this.iid;\n\n      const updateVariables = {\n        iid: currentIid,\n        projectPath: this.fullPath,\n        labelIds,\n      };\n\n      switch (this.issuableType) {\n        case TYPE_ISSUE:\n        case TYPE_TEST_CASE:\n          return updateVariables;\n        case TYPE_MERGE_REQUEST:\n          return {\n            ...updateVariables,\n            operationMode: mutationOperationMode.replace,\n          };\n        case TYPE_EPIC:\n          return {\n            iid: currentIid,\n            groupPath: this.fullPath,\n            addLabelIds: labelIds.map((id) => getIdFromGraphQLId(id)),\n            removeLabelIds: this.issuableLabelIds\n              .filter((id) => !labelIds.includes(id))\n              .map((id) => getIdFromGraphQLId(id)),\n          };\n        default:\n          return {};\n      }\n    },\n    updateSelectedLabels(inputVariables) {\n      this.labelsSelectInProgress = true;\n\n      this.$apollo\n        .mutate({\n          mutation: issuableLabelsQueries[this.issuableType].mutation,\n          variables: { input: inputVariables },\n        })\n        .then(({ data }) => {\n          if (data.updateIssuableLabels?.errors?.length) {\n            throw new Error();\n          }\n\n          this.$emit('updateSelectedLabels', {\n            id: data.updateIssuableLabels?.issuable?.id,\n            labels: data.updateIssuableLabels?.issuable?.labels?.nodes,\n          });\n        })\n        .catch((error) =>\n          createAlert({\n            message: __('An error occurred while updating labels.'),\n            captureError: true,\n            error,\n          }),\n        )\n        .finally(() => {\n          this.labelsSelectInProgress = false;\n        });\n    },\n    getRemoveVariables(labelId) {\n      const removeVariables = {\n        iid: this.iid,\n        projectPath: this.fullPath,\n      };\n\n      switch (this.issuableType) {\n        case TYPE_ISSUE:\n        case TYPE_TEST_CASE:\n          return {\n            ...removeVariables,\n            removeLabelIds: [labelId],\n          };\n        case TYPE_MERGE_REQUEST:\n          return {\n            ...removeVariables,\n            labelIds: [labelId],\n            operationMode: mutationOperationMode.remove,\n          };\n        case TYPE_EPIC:\n          return {\n            iid: this.iid,\n            removeLabelIds: [getIdFromGraphQLId(labelId)],\n            groupPath: this.fullPath,\n          };\n        default:\n          return {};\n      }\n    },\n    handleLabelRemove(labelId) {\n      if (this.iid !== '') {\n        this.updateSelectedLabels(this.getRemoveVariables(labelId));\n      }\n\n      this.$emit('onLabelRemove', labelId);\n    },\n    isDropdownVariantSidebar,\n    isDropdownVariantStandalone,\n    isDropdownVariantEmbedded,\n  },\n};\n</script>\n\n<template>\n  <div\n    class=\"labels-select-wrapper gl-relative\"\n    :class=\"{\n      'is-standalone': isDropdownVariantStandalone(variant),\n      'is-embedded': isDropdownVariantEmbedded(variant),\n    }\"\n    data-testid=\"sidebar-labels\"\n  >\n    <template v-if=\"isDropdownVariantSidebar(variant)\">\n      <sidebar-editable-item\n        ref=\"editable\"\n        :title=\"__('Labels')\"\n        :edit-tooltip=\"labelTooltip\"\n        :edit-aria-label=\"labelShortcutDescription\"\n        :edit-keyshortcuts=\"labelShortcutKey\"\n        :loading=\"isLoading\"\n        :can-edit=\"allowLabelEdit\"\n        @open=\"oldIid = null\"\n      >\n        <template #collapsed>\n          <dropdown-value\n            :disable-labels=\"labelsSelectInProgress\"\n            :selected-labels=\"issuableLabels\"\n            :allow-label-remove=\"allowLabelRemove\"\n            :supports-lock-on-merge=\"isLockOnMergeSupported\"\n            :labels-filter-base-path=\"labelsFilterBasePath\"\n            :labels-filter-param=\"labelsFilterParam\"\n            class=\"gl-pt-2\"\n            @onLabelRemove=\"handleLabelRemove\"\n            @onCollapsedValueClick=\"handleCollapsedValueClick\"\n          >\n            <slot></slot>\n          </dropdown-value>\n        </template>\n        <template #default=\"{ edit }\">\n          <dropdown-value\n            :disable-labels=\"labelsSelectInProgress\"\n            :selected-labels=\"issuableLabels\"\n            :allow-label-remove=\"allowLabelRemove\"\n            :supports-lock-on-merge=\"isLockOnMergeSupported\"\n            :labels-filter-base-path=\"labelsFilterBasePath\"\n            :labels-filter-param=\"labelsFilterParam\"\n            class=\"gl-mb-2\"\n            @onLabelRemove=\"handleLabelRemove\"\n          >\n            <slot></slot>\n          </dropdown-value>\n          <dropdown-contents\n            ref=\"dropdownContents\"\n            class=\"gl-mt-3 gl-w-full\"\n            :dropdown-button-text=\"dropdownButtonText\"\n            :allow-multiselect=\"allowMultiselect\"\n            :labels-list-title=\"labelsListTitle\"\n            :footer-create-label-title=\"footerCreateLabelTitle\"\n            :footer-manage-label-title=\"footerManageLabelTitle\"\n            :labels-create-title=\"labelsCreateTitle\"\n            :selected-labels=\"issuableLabels\"\n            :variant=\"variant\"\n            :is-visible=\"edit\"\n            :full-path=\"fullPath\"\n            :workspace-type=\"workspaceType\"\n            :attr-workspace-path=\"attrWorkspacePath\"\n            :label-create-type=\"labelCreateType\"\n            @setLabels=\"handleDropdownClose\"\n            @closeDropdown=\"collapseEditableItem\"\n          />\n        </template>\n      </sidebar-editable-item>\n    </template>\n    <template v-else>\n      <dropdown-contents\n        ref=\"dropdownContents\"\n        class=\"issuable-form-select-holder\"\n        :dropdown-button-text=\"dropdownButtonText\"\n        :allow-multiselect=\"allowMultiselect\"\n        :labels-list-title=\"labelsListTitle\"\n        :footer-create-label-title=\"footerCreateLabelTitle\"\n        :footer-manage-label-title=\"footerManageLabelTitle\"\n        :labels-create-title=\"labelsCreateTitle\"\n        :selected-labels=\"issuableLabels\"\n        :variant=\"variant\"\n        :full-path=\"fullPath\"\n        :workspace-type=\"workspaceType\"\n        :attr-workspace-path=\"attrWorkspacePath\"\n        :label-create-type=\"labelCreateType\"\n        @setLabels=\"handleDropdownClose\"\n      />\n      <embedded-labels-list\n        v-if=\"isLabelListEnabled\"\n        :disabled=\"labelsSelectInProgress\"\n        :selected-labels=\"issuableLabels\"\n        :allow-label-remove=\"allowLabelRemove\"\n        :supports-lock-on-merge=\"isLockOnMergeSupported\"\n        :labels-filter-base-path=\"labelsFilterBasePath\"\n        :labels-filter-param=\"labelsFilterParam\"\n        @onLabelRemove=\"handleLabelRemove\"\n      />\n    </template>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./labels_select_root.vue?vue&type=template&id=7c2f1289\"\nimport script from \"./labels_select_root.vue?vue&type=script&lang=js\"\nexport * from \"./labels_select_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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"gl-flex gl-items-center gl-font-bold gl-leading-20 gl-text-default\",on:{\"click\":function($event){if($event.target !== $event.currentTarget)return null;return _vm.collapse.apply(null, arguments)}}},[_c('span',{staticClass:\"hide-collapsed\",attrs:{\"data-testid\":\"title\"},on:{\"click\":_vm.collapse}},[_vm._v(\"\\n      \"+_vm._s(_vm.title)+\"\\n    \")]),_vm._v(\" \"),_vm._t(\"title-extra\"),_vm._v(\" \"),(_vm.loading || _vm.initialLoading)?_c('gl-loading-icon',{staticClass:\"hide-collapsed gl-ml-2\",attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.loading && _vm.isClassicSidebar)?_c('gl-loading-icon',{staticClass:\"hide-expanded gl-mx-auto gl-my-0\",attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._t(\"collapsed-right\"),_vm._v(\" \"),(_vm.canUpdate && !_vm.initialLoading && _vm.canEdit)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.viewport.html\",modifiers:{\"viewport\":true,\"html\":true}}],staticClass:\"hide-collapsed shortcut-sidebar-dropdown-toggle -gl-mr-2 gl-ml-auto\",attrs:{\"id\":_vm.buttonId,\"category\":\"tertiary\",\"size\":\"small\",\"title\":_vm.editTooltipText,\"aria-label\":_vm.editAriaLabelText,\"aria-keyshortcuts\":_vm.editKeyshortcutsText,\"data-testid\":\"edit-button\",\"data-track-action\":_vm.tracking.event,\"data-track-label\":_vm.tracking.label,\"data-track-property\":_vm.tracking.property},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.toggle.apply(null, arguments)},\"click\":_vm.toggle}},[_vm._v(\"\\n      \"+_vm._s(_vm.editButtonText)+\"\\n    \")]):_vm._e()],2),_vm._v(\" \"),(!_vm.initialLoading)?[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.edit),expression:\"!edit\"}],attrs:{\"data-testid\":\"collapsed-content\"}},[_vm._t(\"collapsed\",function(){return [_vm._v(_vm._s(_vm.__('None')))]})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.edit),expression:\"edit\"}],class:{ 'gl-mt-3': !_vm.isClassicSidebar },attrs:{\"data-testid\":\"expanded-content\"}},[_vm._t(\"default\",null,{\"edit\":_vm.edit,\"toggle\":_vm.toggle})],2)]:_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!./sidebar_editable_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!./sidebar_editable_item.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui';\nimport { __ } from '~/locale';\n\nexport default {\n  i18n: {\n    unassigned: __('Unassigned'),\n  },\n  components: { GlButton, GlLoadingIcon },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  inject: {\n    canUpdate: {},\n    isClassicSidebar: {\n      default: false,\n    },\n  },\n  props: {\n    buttonId: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    title: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    loading: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    initialLoading: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    isDirty: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    tracking: {\n      type: Object,\n      required: false,\n      default: () => ({\n        event: null,\n        label: null,\n        property: null,\n      }),\n    },\n    canEdit: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    shouldShowConfirmationPopover: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    editTooltip: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    editAriaLabel: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    editKeyshortcuts: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  data() {\n    return {\n      edit: false,\n    };\n  },\n  computed: {\n    editButtonText() {\n      return this.isDirty ? __('Apply') : __('Edit');\n    },\n    editTooltipText() {\n      return this.isDirty ? '' : this.editTooltip;\n    },\n    editAriaLabelText() {\n      return this.isDirty ? this.editButtonText : this.editAriaLabel;\n    },\n    editKeyshortcutsText() {\n      return this.isDirty ? __('Escape') : this.editKeyshortcuts;\n    },\n  },\n  destroyed() {\n    window.removeEventListener('click', this.collapseWhenOffClick);\n    window.removeEventListener('keyup', this.collapseOnEscape);\n  },\n  methods: {\n    collapseWhenOffClick({ target }) {\n      if (!this.$el.contains(target)) {\n        this.collapse();\n      }\n    },\n    collapseOnEscape({ key }) {\n      if (key === 'Escape') {\n        this.collapse();\n      }\n    },\n    expand() {\n      if (this.edit) {\n        return;\n      }\n\n      if (this.canEdit && this.canUpdate) {\n        this.edit = true;\n      }\n      this.$emit('open');\n      window.addEventListener('click', this.collapseWhenOffClick);\n      window.addEventListener('keyup', this.collapseOnEscape);\n    },\n    collapse({ emitEvent = true } = {}) {\n      if (!this.edit) {\n        return;\n      }\n\n      this.edit = false;\n      if (emitEvent) {\n        this.$emit('close');\n      }\n      window.removeEventListener('click', this.collapseWhenOffClick);\n      window.removeEventListener('keyup', this.collapseOnEscape);\n    },\n    toggle({ emitEvent = true } = {}) {\n      if (this.shouldShowConfirmationPopover) {\n        this.$emit('edit-confirm');\n        return;\n      }\n\n      if (this.edit) {\n        this.collapse({ emitEvent });\n      } else {\n        this.expand();\n      }\n    },\n  },\n};\n</script>\n\n<template>\n  <div>\n    <div\n      class=\"gl-flex gl-items-center gl-font-bold gl-leading-20 gl-text-default\"\n      @click.self=\"collapse\"\n    >\n      <span class=\"hide-collapsed\" data-testid=\"title\" @click=\"collapse\">\n        {{ title }}\n      </span>\n      <slot name=\"title-extra\"></slot>\n      <gl-loading-icon\n        v-if=\"loading || initialLoading\"\n        size=\"sm\"\n        inline\n        class=\"hide-collapsed gl-ml-2\"\n      />\n      <gl-loading-icon\n        v-if=\"loading && isClassicSidebar\"\n        size=\"sm\"\n        inline\n        class=\"hide-expanded gl-mx-auto gl-my-0\"\n      />\n      <slot name=\"collapsed-right\"></slot>\n      <gl-button\n        v-if=\"canUpdate && !initialLoading && canEdit\"\n        :id=\"buttonId\"\n        v-gl-tooltip.viewport.html\n        category=\"tertiary\"\n        size=\"small\"\n        class=\"hide-collapsed shortcut-sidebar-dropdown-toggle -gl-mr-2 gl-ml-auto\"\n        :title=\"editTooltipText\"\n        :aria-label=\"editAriaLabelText\"\n        :aria-keyshortcuts=\"editKeyshortcutsText\"\n        data-testid=\"edit-button\"\n        :data-track-action=\"tracking.event\"\n        :data-track-label=\"tracking.label\"\n        :data-track-property=\"tracking.property\"\n        @keyup.esc=\"toggle\"\n        @click=\"toggle\"\n      >\n        {{ editButtonText }}\n      </gl-button>\n    </div>\n    <template v-if=\"!initialLoading\">\n      <div v-show=\"!edit\" data-testid=\"collapsed-content\">\n        <slot name=\"collapsed\">{{ __('None') }}</slot>\n      </div>\n      <div v-show=\"edit\" data-testid=\"expanded-content\" :class=\"{ 'gl-mt-3': !isClassicSidebar }\">\n        <slot :edit=\"edit\" :toggle=\"toggle\"></slot>\n      </div>\n    </template>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_editable_item.vue?vue&type=template&id=6046ea02\"\nimport script from \"./sidebar_editable_item.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_editable_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('div',{staticClass:\"value issuable-show-labels js-value\",class:{\n    'has-labels': _vm.selectedLabels.length,\n  },attrs:{\"data-testid\":\"value-wrapper\"}},[_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],staticClass:\"sidebar-collapsed-icon\",attrs:{\"title\":_vm.labelsList},on:{\"click\":_vm.handleCollapsedClick}},[_c('gl-icon',{attrs:{\"name\":\"labels\"}}),_vm._v(\" \"),_c('span',{staticClass:\"collapse-truncated-title gl-px-3 gl-pt-2 gl-text-sm\"},[_vm._v(_vm._s(_vm.selectedLabels.length))])],1),_vm._v(\" \"),(!_vm.selectedLabels.length)?_c('span',{staticClass:\"hide-collapsed gl-text-subtle\",attrs:{\"data-testid\":\"empty-placeholder\"}},[_vm._t(\"default\")],2):_vm._l((_vm.sortedSelectedLabels),function(label){return _c('gl-label',{key:label.id,staticClass:\"hide-collapsed\",attrs:{\"data-testid\":\"selected-label-content\",\"data-qa-label-name\":label.title,\"title\":label.title,\"description\":label.description,\"background-color\":label.color,\"target\":_vm.labelFilterUrl(label),\"scoped\":_vm.scopedLabel(label),\"show-close-button\":_vm.showCloseButton(label),\"disabled\":_vm.disableLabels,\"tooltip-placement\":\"top\"},on:{\"close\":function($event){return _vm.removeLabel(label.id)}}})})],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!./dropdown_value.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!./dropdown_value.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlLabel, GlTooltipDirective } from '@gitlab/ui';\nimport { sortBy } from 'lodash';\nimport { isScopedLabel } from '~/lib/utils/common_utils';\nimport { s__, sprintf } from '~/locale';\n\nexport default {\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  components: {\n    GlIcon,\n    GlLabel,\n  },\n  inject: ['allowScopedLabels'],\n  props: {\n    disableLabels: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    selectedLabels: {\n      type: Array,\n      required: true,\n    },\n    allowLabelRemove: {\n      type: Boolean,\n      required: true,\n    },\n    supportsLockOnMerge: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    labelsFilterBasePath: {\n      type: String,\n      required: true,\n    },\n    labelsFilterParam: {\n      type: String,\n      required: true,\n    },\n  },\n  computed: {\n    sortedSelectedLabels() {\n      return sortBy(this.selectedLabels, (label) => (isScopedLabel(label) ? 0 : 1));\n    },\n    labelsList() {\n      const labelsString = this.selectedLabels.length\n        ? this.selectedLabels\n            .slice(0, 5)\n            .map((label) => label.title)\n            .join(', ')\n        : s__('LabelSelect|Labels');\n\n      if (this.selectedLabels.length > 5) {\n        return sprintf(s__('LabelSelect|%{labelsString}, and %{remainingLabelCount} more'), {\n          labelsString,\n          remainingLabelCount: this.selectedLabels.length - 5,\n        });\n      }\n\n      return labelsString;\n    },\n  },\n  methods: {\n    labelFilterUrl(label) {\n      return `${this.labelsFilterBasePath}?${this.labelsFilterParam}[]=${encodeURIComponent(\n        label.title,\n      )}`;\n    },\n    scopedLabel(label) {\n      return this.allowScopedLabels && isScopedLabel(label);\n    },\n    isLabelLocked(label) {\n      return label.lockOnMerge && this.supportsLockOnMerge;\n    },\n    showCloseButton(label) {\n      return this.allowLabelRemove && !this.isLabelLocked(label);\n    },\n    removeLabel(labelId) {\n      this.$emit('onLabelRemove', labelId);\n    },\n    handleCollapsedClick() {\n      this.$emit('onCollapsedValueClick');\n    },\n  },\n};\n</script>\n\n<template>\n  <div\n    :class=\"{\n      'has-labels': selectedLabels.length,\n    }\"\n    class=\"value issuable-show-labels js-value\"\n    data-testid=\"value-wrapper\"\n  >\n    <div\n      v-gl-tooltip.left.viewport\n      :title=\"labelsList\"\n      class=\"sidebar-collapsed-icon\"\n      @click=\"handleCollapsedClick\"\n    >\n      <gl-icon name=\"labels\" />\n      <span class=\"collapse-truncated-title gl-px-3 gl-pt-2 gl-text-sm\">{{\n        selectedLabels.length\n      }}</span>\n    </div>\n    <span\n      v-if=\"!selectedLabels.length\"\n      class=\"hide-collapsed gl-text-subtle\"\n      data-testid=\"empty-placeholder\"\n    >\n      <slot></slot>\n    </span>\n    <template v-else>\n      <gl-label\n        v-for=\"label in sortedSelectedLabels\"\n        :key=\"label.id\"\n        class=\"hide-collapsed\"\n        data-testid=\"selected-label-content\"\n        :data-qa-label-name=\"label.title\"\n        :title=\"label.title\"\n        :description=\"label.description\"\n        :background-color=\"label.color\"\n        :target=\"labelFilterUrl(label)\"\n        :scoped=\"scopedLabel(label)\"\n        :show-close-button=\"showCloseButton(label)\"\n        :disabled=\"disableLabels\"\n        tooltip-placement=\"top\"\n        @close=\"removeLabel(label.id)\"\n      />\n    </template>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_value.vue?vue&type=template&id=029da1af\"\nimport script from \"./dropdown_value.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_value.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":""}