Commit c2890c65 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab master

parents b0ff936f f690ca41
...@@ -68,10 +68,10 @@ a nightly pipeline, select ~"found:nightly". ...@@ -68,10 +68,10 @@ a nightly pipeline, select ~"found:nightly".
<!-- <!--
https://about.gitlab.com/handbook/engineering/quality/guidelines/#priorities: https://about.gitlab.com/handbook/engineering/quality/guidelines/#priorities:
- ~P::1: Tests that are needed to verify fundamental GitLab functionality. - ~"priority::1": Tests that are needed to verify fundamental GitLab functionality.
- ~P::2: Tests that deal with external integrations which may take a longer time to debug and fix. - ~"priority::2": Tests that deal with external integrations which may take a longer time to debug and fix.
--> -->
/label ~P:: /label ~priority::
<!-- Select the current milestone if ~P::1 or the next milestone if ~P::2. --> <!-- Select the current milestone if ~"priority::1" or the next milestone if ~"priority::2". -->
/milestone % /milestone %
...@@ -23,7 +23,6 @@ See [the general developer security release guidelines](https://gitlab.com/gitla ...@@ -23,7 +23,6 @@ See [the general developer security release guidelines](https://gitlab.com/gitla
- [ ] Ensure it's approved by an AppSec engineer. - [ ] Ensure it's approved by an AppSec engineer.
- If you're unsure who should approve, find the AppSec engineer associated to the issue in the [Canonical repository], or ask #sec-appsec on Slack. - If you're unsure who should approve, find the AppSec engineer associated to the issue in the [Canonical repository], or ask #sec-appsec on Slack.
- Trigger the [`package-and-qa` build]. The docker image generated will be used by the AppSec engineer to validate the security vulnerability has been remediated. - Trigger the [`package-and-qa` build]. The docker image generated will be used by the AppSec engineer to validate the security vulnerability has been remediated.
- [ ] Merge request _must_ close the corresponding security issue.
- [ ] For a backport MR targeting a versioned stable branch (`X-Y-stable-ee`) - [ ] For a backport MR targeting a versioned stable branch (`X-Y-stable-ee`)
- [ ] Ensure it's approved by a maintainer. - [ ] Ensure it's approved by a maintainer.
......
<script> <script>
import { GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui'; import { GlLoadingIcon, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
// name: 'Badge' is a false positive: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/25 // name: 'Badge' is a false positive: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/25
// eslint-disable-next-line @gitlab/require-i18n-strings // eslint-disable-next-line @gitlab/require-i18n-strings
name: 'Badge', name: 'Badge',
components: { components: {
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
directives: { directives: {
...@@ -84,7 +83,7 @@ export default { ...@@ -84,7 +83,7 @@ export default {
<div v-show="hasError" class="btn-group"> <div v-show="hasError" class="btn-group">
<div class="btn btn-default btn-sm disabled"> <div class="btn btn-default btn-sm disabled">
<icon :size="16" class="gl-ml-3 gl-mr-3" name="doc-image" aria-hidden="true" /> <gl-icon :size="16" class="gl-ml-3 gl-mr-3" name="doc-image" aria-hidden="true" />
</div> </div>
<div class="btn btn-default btn-sm disabled"> <div class="btn btn-default btn-sm disabled">
<span class="gl-ml-3 gl-mr-3">{{ s__('Badges|No badge image') }}</span> <span class="gl-ml-3 gl-mr-3">{{ s__('Badges|No badge image') }}</span>
...@@ -99,7 +98,7 @@ export default { ...@@ -99,7 +98,7 @@ export default {
type="button" type="button"
@click="reloadImage" @click="reloadImage"
> >
<icon :size="16" name="retry" /> <gl-icon :size="16" name="retry" />
</button> </button>
</div> </div>
</template> </template>
<script> <script>
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import { PROJECT_BADGE } from '../constants'; import { PROJECT_BADGE } from '../constants';
import Badge from './badge.vue'; import Badge from './badge.vue';
...@@ -10,7 +9,7 @@ export default { ...@@ -10,7 +9,7 @@ export default {
name: 'BadgeListRow', name: 'BadgeListRow',
components: { components: {
Badge, Badge,
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
props: { props: {
...@@ -58,7 +57,7 @@ export default { ...@@ -58,7 +57,7 @@ export default {
type="button" type="button"
@click="editBadge(badge)" @click="editBadge(badge)"
> >
<icon :size="16" :aria-label="__('Edit')" name="pencil" /> <gl-icon :size="16" :aria-label="__('Edit')" name="pencil" />
</button> </button>
<button <button
:disabled="badge.isDeleting" :disabled="badge.isDeleting"
...@@ -68,7 +67,7 @@ export default { ...@@ -68,7 +67,7 @@ export default {
data-target="#delete-badge-modal" data-target="#delete-badge-modal"
@click="updateBadgeInModal(badge)" @click="updateBadgeInModal(badge)"
> >
<icon :size="16" :aria-label="__('Delete')" name="remove" /> <gl-icon :size="16" :aria-label="__('Delete')" name="remove" />
</button> </button>
<gl-loading-icon v-show="badge.isDeleting" :inline="true" /> <gl-loading-icon v-show="badge.isDeleting" :inline="true" />
</div> </div>
......
<script> <script>
import { mapActions, mapGetters, mapState } from 'vuex'; import { mapActions, mapGetters, mapState } from 'vuex';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { sprintf, n__ } from '~/locale'; import { sprintf, n__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import DraftsCount from './drafts_count.vue'; import DraftsCount from './drafts_count.vue';
import PublishButton from './publish_button.vue'; import PublishButton from './publish_button.vue';
import PreviewItem from './preview_item.vue'; import PreviewItem from './preview_item.vue';
...@@ -10,7 +9,7 @@ import PreviewItem from './preview_item.vue'; ...@@ -10,7 +9,7 @@ import PreviewItem from './preview_item.vue';
export default { export default {
components: { components: {
GlLoadingIcon, GlLoadingIcon,
Icon, GlIcon,
DraftsCount, DraftsCount,
PublishButton, PublishButton,
PreviewItem, PreviewItem,
...@@ -71,7 +70,7 @@ export default { ...@@ -71,7 +70,7 @@ export default {
> >
{{ __('Finish review') }} {{ __('Finish review') }}
<drafts-count /> <drafts-count />
<icon name="angle-up" /> <gl-icon name="angle-up" />
</button> </button>
<div <div
class="dropdown-menu dropdown-menu-large dropdown-menu-right dropdown-open-top" class="dropdown-menu dropdown-menu-large dropdown-menu-right dropdown-open-top"
...@@ -87,7 +86,7 @@ export default { ...@@ -87,7 +86,7 @@ export default {
class="dropdown-title-button dropdown-menu-close" class="dropdown-title-button dropdown-menu-close"
@click="toggleReviewDropdown" @click="toggleReviewDropdown"
> >
<icon name="close" /> <gl-icon name="close" />
</button> </button>
</div> </div>
<div class="dropdown-content"> <div class="dropdown-content">
......
<script> <script>
import { mapActions, mapGetters } from 'vuex'; import { mapActions, mapGetters } from 'vuex';
import { GlSprintf } from '@gitlab/ui'; import { GlSprintf, GlIcon } from '@gitlab/ui';
import { IMAGE_DIFF_POSITION_TYPE } from '~/diffs/constants'; import { IMAGE_DIFF_POSITION_TYPE } from '~/diffs/constants';
import { sprintf, __ } from '~/locale'; import { sprintf, __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import resolvedStatusMixin from '../mixins/resolved_status'; import resolvedStatusMixin from '../mixins/resolved_status';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import { import {
...@@ -14,7 +13,7 @@ import { ...@@ -14,7 +13,7 @@ import {
export default { export default {
components: { components: {
Icon, GlIcon,
GlSprintf, GlSprintf,
}, },
mixins: [resolvedStatusMixin, glFeatureFlagsMixin()], mixins: [resolvedStatusMixin, glFeatureFlagsMixin()],
...@@ -101,7 +100,7 @@ export default { ...@@ -101,7 +100,7 @@ export default {
@click="scrollToDraft(draft)" @click="scrollToDraft(draft)"
> >
<span class="review-preview-item-header"> <span class="review-preview-item-header">
<icon class="flex-shrink-0" :name="iconName" /> <gl-icon class="flex-shrink-0" :name="iconName" />
<span <span
class="bold text-nowrap" class="bold text-nowrap"
:class="{ 'gl-align-items-center': glFeatures.multilineComments }" :class="{ 'gl-align-items-center': glFeatures.multilineComments }"
...@@ -138,7 +137,7 @@ export default { ...@@ -138,7 +137,7 @@ export default {
v-if="draft.discussion_id && resolvedStatusMessage" v-if="draft.discussion_id && resolvedStatusMessage"
class="review-preview-item-footer draft-note-resolution p-0" class="review-preview-item-footer draft-note-resolution p-0"
> >
<icon class="gl-mr-3" name="status_success" /> {{ resolvedStatusMessage }} <gl-icon class="gl-mr-3" name="status_success" /> {{ resolvedStatusMessage }}
</span> </span>
</button> </button>
</template> </template>
<script> <script>
import { sortBy } from 'lodash'; import { sortBy } from 'lodash';
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import { GlLabel, GlTooltipDirective } from '@gitlab/ui'; import { GlLabel, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import issueCardInner from 'ee_else_ce/boards/mixins/issue_card_inner'; import issueCardInner from 'ee_else_ce/boards/mixins/issue_card_inner';
import { sprintf, __ } from '~/locale'; import { sprintf, __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue'; import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue';
import UserAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue'; import UserAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
import IssueDueDate from './issue_due_date.vue'; import IssueDueDate from './issue_due_date.vue';
...@@ -15,7 +14,7 @@ import { isScopedLabel } from '~/lib/utils/common_utils'; ...@@ -15,7 +14,7 @@ import { isScopedLabel } from '~/lib/utils/common_utils';
export default { export default {
components: { components: {
GlLabel, GlLabel,
Icon, GlIcon,
UserAvatarLink, UserAvatarLink,
TooltipOnTruncate, TooltipOnTruncate,
IssueDueDate, IssueDueDate,
...@@ -148,7 +147,7 @@ export default { ...@@ -148,7 +147,7 @@ export default {
<div> <div>
<div class="d-flex board-card-header" dir="auto"> <div class="d-flex board-card-header" dir="auto">
<h4 class="board-card-title gl-mb-0 gl-mt-0"> <h4 class="board-card-title gl-mb-0 gl-mt-0">
<icon <gl-icon
v-if="issue.blocked" v-if="issue.blocked"
v-gl-tooltip v-gl-tooltip
name="issue-block" name="issue-block"
...@@ -156,7 +155,7 @@ export default { ...@@ -156,7 +155,7 @@ export default {
class="issue-blocked-icon gl-mr-2" class="issue-blocked-icon gl-mr-2"
:aria-label="__('Blocked issue')" :aria-label="__('Blocked issue')"
/> />
<icon <gl-icon
v-if="issue.confidential" v-if="issue.confidential"
v-gl-tooltip v-gl-tooltip
name="eye-slash" name="eye-slash"
......
<script> <script>
import dateFormat from 'dateformat'; import dateFormat from 'dateformat';
import { GlTooltip } from '@gitlab/ui'; import { GlTooltip, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __ } from '~/locale'; import { __ } from '~/locale';
import { import {
getDayDifference, getDayDifference,
...@@ -12,7 +11,7 @@ import { ...@@ -12,7 +11,7 @@ import {
export default { export default {
components: { components: {
Icon, GlIcon,
GlTooltip, GlTooltip,
}, },
props: { props: {
...@@ -87,7 +86,7 @@ export default { ...@@ -87,7 +86,7 @@ export default {
<template> <template>
<span> <span>
<span ref="issueDueDate" :class="cssClass" class="board-card-info card-number"> <span ref="issueDueDate" :class="cssClass" class="board-card-info card-number">
<icon :class="{ 'text-danger': isPastDue }" class="board-card-info-icon" name="calendar" /> <gl-icon :class="{ 'text-danger': isPastDue }" class="board-card-info-icon" name="calendar" />
<time :class="{ 'text-danger': isPastDue }" datetime="date" class="board-card-info-text">{{ <time :class="{ 'text-danger': isPastDue }" datetime="date" class="board-card-info-text">{{
body body
}}</time> }}</time>
......
<script> <script>
import { GlTooltip } from '@gitlab/ui'; import { GlTooltip, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { parseSeconds, stringifyTime } from '~/lib/utils/datetime_utility'; import { parseSeconds, stringifyTime } from '~/lib/utils/datetime_utility';
import boardsStore from '../stores/boards_store'; import boardsStore from '../stores/boards_store';
export default { export default {
components: { components: {
Icon, GlIcon,
GlTooltip, GlTooltip,
}, },
props: { props: {
...@@ -34,7 +33,7 @@ export default { ...@@ -34,7 +33,7 @@ export default {
<template> <template>
<span> <span>
<span ref="issueTimeEstimate" class="board-card-info card-number"> <span ref="issueTimeEstimate" class="board-card-info card-number">
<icon name="hourglass" class="board-card-info-icon" /><time class="board-card-info-text">{{ <gl-icon name="hourglass" class="board-card-info-icon" /><time class="board-card-info-text">{{
timeEstimate timeEstimate
}}</time> }}</time>
</span> </span>
......
<script> <script>
import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils'; import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import ModalStore from '../../stores/modal_store'; import ModalStore from '../../stores/modal_store';
import IssueCardInner from '../issue_card_inner.vue'; import IssueCardInner from '../issue_card_inner.vue';
export default { export default {
components: { components: {
IssueCardInner, IssueCardInner,
Icon, GlIcon,
}, },
props: { props: {
issueLinkBase: { issueLinkBase: {
...@@ -135,7 +135,7 @@ export default { ...@@ -135,7 +135,7 @@ export default {
@click="toggleIssue($event, issue)" @click="toggleIssue($event, issue)"
> >
<issue-card-inner :issue="issue" :issue-link-base="issueLinkBase" :root-path="rootPath" /> <issue-card-inner :issue="issue" :issue-link-base="issueLinkBase" :root-path="rootPath" />
<icon <gl-icon
v-if="issue.selected" v-if="issue.selected"
:aria-label="'Issue #' + issue.id + ' selected'" :aria-label="'Issue #' + issue.id + ' selected'"
name="mobile-issue-close" name="mobile-issue-close"
......
<script> <script>
import { GlLink } from '@gitlab/ui'; import { GlLink, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import ModalStore from '../../stores/modal_store'; import ModalStore from '../../stores/modal_store';
import boardsStore from '../../stores/boards_store'; import boardsStore from '../../stores/boards_store';
export default { export default {
components: { components: {
GlLink, GlLink,
Icon, GlIcon,
}, },
data() { data() {
return { return {
...@@ -29,7 +28,7 @@ export default { ...@@ -29,7 +28,7 @@ export default {
<div class="dropdown inline"> <div class="dropdown inline">
<button class="dropdown-menu-toggle" type="button" data-toggle="dropdown" aria-expanded="false"> <button class="dropdown-menu-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
<span :style="{ backgroundColor: selected.label.color }" class="dropdown-label-box"> </span> <span :style="{ backgroundColor: selected.label.color }" class="dropdown-label-box"> </span>
{{ selected.title }} <icon name="chevron-down" class="dropdown-menu-toggle-icon" /> {{ selected.title }} <gl-icon name="chevron-down" class="dropdown-menu-toggle-icon" />
</button> </button>
<div class="dropdown-menu dropdown-menu-selectable dropdown-menu-drop-up"> <div class="dropdown-menu dropdown-menu-selectable dropdown-menu-drop-up">
<ul> <ul>
......
<script> <script>
import $ from 'jquery'; import $ from 'jquery';
import { escape } from 'lodash'; import { escape } from 'lodash';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __ } from '~/locale'; import { __ } from '~/locale';
import eventHub from '../eventhub'; import eventHub from '../eventhub';
import Api from '../../api'; import Api from '../../api';
...@@ -11,7 +10,7 @@ import { featureAccessLevel } from '~/pages/projects/shared/permissions/constant ...@@ -11,7 +10,7 @@ import { featureAccessLevel } from '~/pages/projects/shared/permissions/constant
export default { export default {
name: 'BoardProjectSelect', name: 'BoardProjectSelect',
components: { components: {
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
props: { props: {
...@@ -105,13 +104,13 @@ export default { ...@@ -105,13 +104,13 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
aria-expanded="false" aria-expanded="false"
> >
{{ selectedProjectName }} <icon name="chevron-down" class="dropdown-menu-toggle-icon" /> {{ selectedProjectName }} <gl-icon name="chevron-down" class="dropdown-menu-toggle-icon" />
</button> </button>
<div class="dropdown-menu dropdown-menu-selectable dropdown-menu-full-width"> <div class="dropdown-menu dropdown-menu-selectable dropdown-menu-full-width">
<div class="dropdown-title">{{ __('Projects') }}</div> <div class="dropdown-title">{{ __('Projects') }}</div>
<div class="dropdown-input"> <div class="dropdown-input">
<input class="dropdown-input-field" type="search" :placeholder="__('Search projects')" /> <input class="dropdown-input-field" type="search" :placeholder="__('Search projects')" />
<icon name="search" class="dropdown-input-search" data-hidden="true" /> <gl-icon name="search" class="dropdown-input-search" data-hidden="true" />
</div> </div>
<div class="dropdown-content"></div> <div class="dropdown-content"></div>
<div class="dropdown-loading"><gl-loading-icon /></div> <div class="dropdown-loading"><gl-loading-icon /></div>
......
<script> <script>
import { GlDeprecatedDropdown, GlDeprecatedDropdownItem } from '@gitlab/ui'; import { GlDeprecatedDropdown, GlDeprecatedDropdownItem, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
GlDeprecatedDropdown, GlDeprecatedDropdown,
GlDeprecatedDropdownItem, GlDeprecatedDropdownItem,
Icon, GlIcon,
}, },
props: { props: {
projects: { projects: {
...@@ -41,17 +40,17 @@ export default { ...@@ -41,17 +40,17 @@ export default {
<gl-deprecated-dropdown toggle-class="d-flex align-items-center w-100" class="w-100"> <gl-deprecated-dropdown toggle-class="d-flex align-items-center w-100" class="w-100">
<template #button-content> <template #button-content>
<span class="str-truncated-100 mr-2"> <span class="str-truncated-100 mr-2">
<icon name="lock" /> <gl-icon name="lock" />
{{ dropdownText }} {{ dropdownText }}
</span> </span>
<icon name="chevron-down" class="ml-auto" /> <gl-icon name="chevron-down" class="ml-auto" />
</template> </template>
<gl-deprecated-dropdown-item <gl-deprecated-dropdown-item
v-for="project in projects" v-for="project in projects"
:key="project.id" :key="project.id"
@click="selectProject(project)" @click="selectProject(project)"
> >
<icon <gl-icon
name="mobile-issue-close" name="mobile-issue-close"
:class="{ icon: project.id !== selectedProject.id }" :class="{ icon: project.id !== selectedProject.id }"
class="js-active-project-check" class="js-active-project-check"
......
<script> <script>
import { GlFormInput, GlLink, GlFormGroup, GlFormRadioGroup, GlLoadingIcon } from '@gitlab/ui'; import {
GlFormInput,
GlLink,
GlFormGroup,
GlFormRadioGroup,
GlLoadingIcon,
GlIcon,
} from '@gitlab/ui';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { __, s__ } from '~/locale'; import { __, s__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import csrf from '~/lib/utils/csrf'; import csrf from '~/lib/utils/csrf';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import statusCodes from '~/lib/utils/http_status'; import statusCodes from '~/lib/utils/http_status';
...@@ -37,7 +43,7 @@ export default { ...@@ -37,7 +43,7 @@ export default {
GlFormGroup, GlFormGroup,
GlFormRadioGroup, GlFormRadioGroup,
GlLoadingIcon, GlLoadingIcon,
Icon, GlIcon,
}, },
props: { props: {
formOperation: { formOperation: {
...@@ -229,7 +235,7 @@ export default { ...@@ -229,7 +235,7 @@ export default {
{{ s__('Metrics|Must be a valid PromQL query.') }} {{ s__('Metrics|Must be a valid PromQL query.') }}
<gl-link href="https://prometheus.io/docs/prometheus/latest/querying/basics/" tabindex="-1"> <gl-link href="https://prometheus.io/docs/prometheus/latest/querying/basics/" tabindex="-1">
{{ s__('Metrics|Prometheus Query Documentation') }} {{ s__('Metrics|Prometheus Query Documentation') }}
<icon name="external-link" :size="12" /> <gl-icon name="external-link" :size="12" />
</gl-link> </gl-link>
</span> </span>
</gl-form-group> </gl-form-group>
......
<script> <script>
import iconCycleAnalyticsSplash from 'icons/_icon_cycle_analytics_splash.svg'; import iconCycleAnalyticsSplash from 'icons/_icon_cycle_analytics_splash.svg';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
documentationLink: { documentationLink: {
...@@ -32,7 +32,7 @@ export default { ...@@ -32,7 +32,7 @@ export default {
type="button" type="button"
@click="dismissOverviewDialog" @click="dismissOverviewDialog"
> >
<icon name="close" /> <gl-icon name="close" />
</button> </button>
<div class="svg-container" v-html="iconCycleAnalyticsSplash"></div> <div class="svg-container" v-html="iconCycleAnalyticsSplash"></div>
<div class="inner-content"> <div class="inner-content">
......
...@@ -3,14 +3,12 @@ import { GlIcon } from '@gitlab/ui'; ...@@ -3,14 +3,12 @@ import { GlIcon } from '@gitlab/ui';
import userAvatarImage from '../../vue_shared/components/user_avatar/user_avatar_image.vue'; import userAvatarImage from '../../vue_shared/components/user_avatar/user_avatar_image.vue';
import limitWarning from './limit_warning_component.vue'; import limitWarning from './limit_warning_component.vue';
import totalTime from './total_time_component.vue'; import totalTime from './total_time_component.vue';
import icon from '../../vue_shared/components/icon.vue';
export default { export default {
components: { components: {
userAvatarImage, userAvatarImage,
totalTime, totalTime,
limitWarning, limitWarning,
icon,
GlIcon, GlIcon,
}, },
props: { props: {
...@@ -60,7 +58,7 @@ export default { ...@@ -60,7 +58,7 @@ export default {
</template> </template>
<template v-else> <template v-else>
<span v-if="mergeRequest.branch" class="merge-request-branch"> <span v-if="mergeRequest.branch" class="merge-request-branch">
<icon :size="16" name="fork" /> <gl-icon :size="16" name="fork" />
<a :href="mergeRequest.branch.url"> {{ mergeRequest.branch.name }} </a> <a :href="mergeRequest.branch.url"> {{ mergeRequest.branch.name }} </a>
</span> </span>
</template> </template>
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import userAvatarImage from '../../vue_shared/components/user_avatar/user_avatar_image.vue'; import userAvatarImage from '../../vue_shared/components/user_avatar/user_avatar_image.vue';
import iconBranch from '../svg/icon_branch.svg'; import iconBranch from '../svg/icon_branch.svg';
import limitWarning from './limit_warning_component.vue'; import limitWarning from './limit_warning_component.vue';
import totalTime from './total_time_component.vue'; import totalTime from './total_time_component.vue';
import icon from '../../vue_shared/components/icon.vue';
export default { export default {
components: { components: {
userAvatarImage, userAvatarImage,
totalTime, totalTime,
limitWarning, limitWarning,
icon, GlIcon,
}, },
props: { props: {
items: { items: {
...@@ -44,7 +44,7 @@ export default { ...@@ -44,7 +44,7 @@ export default {
<user-avatar-image :img-src="build.author.avatarUrl" /> <user-avatar-image :img-src="build.author.avatarUrl" />
<h5 class="item-title"> <h5 class="item-title">
<a :href="build.url" class="pipeline-id"> #{{ build.id }} </a> <a :href="build.url" class="pipeline-id"> #{{ build.id }} </a>
<icon :size="16" name="fork" /> <gl-icon :size="16" name="fork" />
<a :href="build.branch.url" class="ref-name"> {{ build.branch.name }} </a> <a :href="build.branch.url" class="ref-name"> {{ build.branch.name }} </a>
<span class="icon-branch" v-html="iconBranch"> </span> <span class="icon-branch" v-html="iconBranch"> </span>
<a :href="build.commitUrl" class="commit-sha"> {{ build.shortSha }} </a> <a :href="build.commitUrl" class="commit-sha"> {{ build.shortSha }} </a>
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import iconBuildStatus from '../svg/icon_build_status.svg'; import iconBuildStatus from '../svg/icon_build_status.svg';
import iconBranch from '../svg/icon_branch.svg'; import iconBranch from '../svg/icon_branch.svg';
import limitWarning from './limit_warning_component.vue'; import limitWarning from './limit_warning_component.vue';
import totalTime from './total_time_component.vue'; import totalTime from './total_time_component.vue';
import icon from '../../vue_shared/components/icon.vue';
export default { export default {
components: { components: {
totalTime, totalTime,
limitWarning, limitWarning,
icon, GlIcon,
}, },
props: { props: {
items: { items: {
...@@ -46,7 +46,7 @@ export default { ...@@ -46,7 +46,7 @@ export default {
<span class="icon-build-status" v-html="iconBuildStatus"> </span> <span class="icon-build-status" v-html="iconBuildStatus"> </span>
<a :href="build.url" class="item-build-name"> {{ build.name }} </a> &middot; <a :href="build.url" class="item-build-name"> {{ build.name }} </a> &middot;
<a :href="build.url" class="pipeline-id"> #{{ build.id }} </a> <a :href="build.url" class="pipeline-id"> #{{ build.id }} </a>
<icon :size="16" name="fork" /> <gl-icon :size="16" name="fork" />
<a :href="build.branch.url" class="ref-name"> {{ build.branch.name }} </a> <a :href="build.branch.url" class="ref-name"> {{ build.branch.name }} </a>
<span class="icon-branch" v-html="iconBranch"> </span> <span class="icon-branch" v-html="iconBranch"> </span>
<a :href="build.commitUrl" class="commit-sha"> {{ build.shortSha }} </a> <a :href="build.commitUrl" class="commit-sha"> {{ build.shortSha }} </a>
......
<script> <script>
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
import { deprecatedCreateFlash as Flash } from '~/flash'; import { deprecatedCreateFlash as Flash } from '~/flash';
import NavigationTabs from '~/vue_shared/components/navigation_tabs.vue'; import NavigationTabs from '~/vue_shared/components/navigation_tabs.vue';
...@@ -7,14 +7,13 @@ import eventHub from '../eventhub'; ...@@ -7,14 +7,13 @@ import eventHub from '../eventhub';
import DeployKeysService from '../service'; import DeployKeysService from '../service';
import DeployKeysStore from '../store'; import DeployKeysStore from '../store';
import KeysPanel from './keys_panel.vue'; import KeysPanel from './keys_panel.vue';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
KeysPanel, KeysPanel,
NavigationTabs, NavigationTabs,
GlLoadingIcon, GlLoadingIcon,
Icon, GlIcon,
}, },
props: { props: {
endpoint: { endpoint: {
...@@ -125,8 +124,8 @@ export default { ...@@ -125,8 +124,8 @@ export default {
/> />
<template v-else-if="hasKeys"> <template v-else-if="hasKeys">
<div class="top-area scrolling-tabs-container inner-page-scroll-tabs"> <div class="top-area scrolling-tabs-container inner-page-scroll-tabs">
<div class="fade-left"><icon name="chevron-lg-left" :size="12" /></div> <div class="fade-left"><gl-icon name="chevron-lg-left" :size="12" /></div>
<div class="fade-right"><icon name="chevron-lg-right" :size="12" /></div> <div class="fade-right"><gl-icon name="chevron-lg-right" :size="12" /></div>
<navigation-tabs :tabs="tabs" scope="deployKeys" @onChangeTab="onChangeTab" /> <navigation-tabs :tabs="tabs" scope="deployKeys" @onChangeTab="onChangeTab" />
</div> </div>
......
<script> <script>
import { head, tail } from 'lodash'; import { head, tail } from 'lodash';
import { GlIcon } from '@gitlab/ui';
import { s__, sprintf } from '~/locale'; import { s__, sprintf } from '~/locale';
import icon from '~/vue_shared/components/icon.vue';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import timeagoMixin from '~/vue_shared/mixins/timeago'; import timeagoMixin from '~/vue_shared/mixins/timeago';
...@@ -10,7 +10,7 @@ import actionBtn from './action_btn.vue'; ...@@ -10,7 +10,7 @@ import actionBtn from './action_btn.vue';
export default { export default {
components: { components: {
actionBtn, actionBtn,
icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -130,7 +130,7 @@ export default { ...@@ -130,7 +130,7 @@ export default {
class="label deploy-project-label" class="label deploy-project-label"
> >
<span> {{ firstProject.project.full_name }} </span> <span> {{ firstProject.project.full_name }} </span>
<icon :name="firstProject.can_push ? 'lock-open' : 'lock'" /> <gl-icon :name="firstProject.can_push ? 'lock-open' : 'lock'" />
</a> </a>
<a <a
v-if="isExpandable" v-if="isExpandable"
...@@ -151,7 +151,7 @@ export default { ...@@ -151,7 +151,7 @@ export default {
class="label deploy-project-label" class="label deploy-project-label"
> >
<span> {{ deployKeysProject.project.full_name }} </span> <span> {{ deployKeysProject.project.full_name }} </span>
<icon :name="deployKeysProject.can_push ? 'lock-open' : 'lock'" /> <gl-icon :name="deployKeysProject.can_push ? 'lock-open' : 'lock'" />
</a> </a>
</template> </template>
<span v-else class="text-secondary">{{ __('None') }}</span> <span v-else class="text-secondary">{{ __('None') }}</span>
...@@ -161,7 +161,7 @@ export default { ...@@ -161,7 +161,7 @@ export default {
<div role="rowheader" class="table-mobile-header">{{ __('Created') }}</div> <div role="rowheader" class="table-mobile-header">{{ __('Created') }}</div>
<div class="table-mobile-content text-secondary key-created-at"> <div class="table-mobile-content text-secondary key-created-at">
<span v-tooltip :title="tooltipTitle(deployKey.created_at)"> <span v-tooltip :title="tooltipTitle(deployKey.created_at)">
<icon name="calendar" /> <span>{{ timeFormatted(deployKey.created_at) }}</span> <gl-icon name="calendar" /> <span>{{ timeFormatted(deployKey.created_at) }}</span>
</span> </span>
</div> </div>
</div> </div>
...@@ -178,7 +178,7 @@ export default { ...@@ -178,7 +178,7 @@ export default {
class="btn btn-default text-secondary" class="btn btn-default text-secondary"
data-container="body" data-container="body"
> >
<icon name="pencil" /> <gl-icon name="pencil" />
</a> </a>
<action-btn <action-btn
v-if="isRemovable" v-if="isRemovable"
...@@ -189,7 +189,7 @@ export default { ...@@ -189,7 +189,7 @@ export default {
type="remove" type="remove"
data-container="body" data-container="body"
> >
<icon name="remove" /> <gl-icon name="remove" />
</action-btn> </action-btn>
<action-btn <action-btn
v-else-if="isEnabled" v-else-if="isEnabled"
...@@ -200,7 +200,7 @@ export default { ...@@ -200,7 +200,7 @@ export default {
type="disable" type="disable"
data-container="body" data-container="body"
> >
<icon name="cancel" /> <gl-icon name="cancel" />
</action-btn> </action-btn>
</div> </div>
</div> </div>
......
<script> <script>
import { GlLoadingIcon, GlIcon, GlIntersectionObserver } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon, GlIntersectionObserver } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import Timeago from '~/vue_shared/components/time_ago_tooltip.vue'; import Timeago from '~/vue_shared/components/time_ago_tooltip.vue';
import { n__, __ } from '~/locale'; import { n__, __ } from '~/locale';
import { DESIGN_ROUTE_NAME } from '../../router/constants'; import { DESIGN_ROUTE_NAME } from '../../router/constants';
...@@ -10,7 +9,6 @@ export default { ...@@ -10,7 +9,6 @@ export default {
GlLoadingIcon, GlLoadingIcon,
GlIntersectionObserver, GlIntersectionObserver,
GlIcon, GlIcon,
Icon,
Timeago, Timeago,
}, },
props: { props: {
...@@ -132,7 +130,7 @@ export default { ...@@ -132,7 +130,7 @@ export default {
<div class="card-body p-0 d-flex-center overflow-hidden position-relative"> <div class="card-body p-0 d-flex-center overflow-hidden position-relative">
<div v-if="icon.name" data-testid="designEvent" class="design-event position-absolute"> <div v-if="icon.name" data-testid="designEvent" class="design-event position-absolute">
<span :title="icon.tooltip" :aria-label="icon.tooltip"> <span :title="icon.tooltip" :aria-label="icon.tooltip">
<icon :name="icon.name" :size="18" :class="icon.classes" /> <gl-icon :name="icon.name" :size="18" :class="icon.classes" />
</span> </span>
</div> </div>
<gl-intersection-observer @appear="onAppear"> <gl-intersection-observer @appear="onAppear">
...@@ -164,7 +162,7 @@ export default { ...@@ -164,7 +162,7 @@ export default {
</span> </span>
</div> </div>
<div v-if="notesCount" class="ml-auto d-flex align-items-center text-secondary"> <div v-if="notesCount" class="ml-auto d-flex align-items-center text-secondary">
<icon name="comments" class="ml-1" /> <gl-icon name="comments" class="ml-1" />
<span :aria-label="notesLabel" class="ml-1"> <span :aria-label="notesLabel" class="ml-1">
{{ notesCount }} {{ notesCount }}
</span> </span>
......
<script> <script>
import { GlLoadingIcon, GlIcon, GlIntersectionObserver } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon, GlIntersectionObserver } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import Timeago from '~/vue_shared/components/time_ago_tooltip.vue'; import Timeago from '~/vue_shared/components/time_ago_tooltip.vue';
import { n__, __ } from '~/locale'; import { n__, __ } from '~/locale';
import { DESIGN_ROUTE_NAME } from '../../router/constants'; import { DESIGN_ROUTE_NAME } from '../../router/constants';
...@@ -10,7 +9,6 @@ export default { ...@@ -10,7 +9,6 @@ export default {
GlLoadingIcon, GlLoadingIcon,
GlIntersectionObserver, GlIntersectionObserver,
GlIcon, GlIcon,
Icon,
Timeago, Timeago,
}, },
props: { props: {
...@@ -132,7 +130,7 @@ export default { ...@@ -132,7 +130,7 @@ export default {
<div class="card-body p-0 d-flex-center overflow-hidden position-relative"> <div class="card-body p-0 d-flex-center overflow-hidden position-relative">
<div v-if="icon.name" data-testid="designEvent" class="design-event position-absolute"> <div v-if="icon.name" data-testid="designEvent" class="design-event position-absolute">
<span :title="icon.tooltip" :aria-label="icon.tooltip"> <span :title="icon.tooltip" :aria-label="icon.tooltip">
<icon :name="icon.name" :size="18" :class="icon.classes" /> <gl-icon :name="icon.name" :size="18" :class="icon.classes" />
</span> </span>
</div> </div>
<gl-intersection-observer @appear="onAppear"> <gl-intersection-observer @appear="onAppear">
...@@ -164,7 +162,7 @@ export default { ...@@ -164,7 +162,7 @@ export default {
</span> </span>
</div> </div>
<div v-if="notesCount" class="ml-auto d-flex align-items-center text-secondary"> <div v-if="notesCount" class="ml-auto d-flex align-items-center text-secondary">
<icon name="comments" class="ml-1" /> <gl-icon name="comments" class="ml-1" />
<span :aria-label="notesLabel" class="ml-1"> <span :aria-label="notesLabel" class="ml-1">
{{ notesCount }} {{ notesCount }}
</span> </span>
......
<script> <script>
import { GlDeprecatedButton } from '@gitlab/ui'; import { GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import timeagoMixin from '~/vue_shared/mixins/timeago'; import timeagoMixin from '~/vue_shared/mixins/timeago';
import Pagination from './pagination.vue'; import Pagination from './pagination.vue';
import DeleteButton from '../delete_button.vue'; import DeleteButton from '../delete_button.vue';
...@@ -11,7 +10,7 @@ import { DESIGNS_ROUTE_NAME } from '../../router/constants'; ...@@ -11,7 +10,7 @@ import { DESIGNS_ROUTE_NAME } from '../../router/constants';
export default { export default {
components: { components: {
Icon, GlIcon,
Pagination, Pagination,
DeleteButton, DeleteButton,
GlDeprecatedButton, GlDeprecatedButton,
...@@ -104,7 +103,7 @@ export default { ...@@ -104,7 +103,7 @@ export default {
:aria-label="s__('DesignManagement|Go back to designs')" :aria-label="s__('DesignManagement|Go back to designs')"
class="mr-3 text-plain d-flex justify-content-center align-items-center" class="mr-3 text-plain d-flex justify-content-center align-items-center"
> >
<icon :size="18" name="close" /> <gl-icon :size="18" name="close" />
</router-link> </router-link>
<div class="overflow-hidden d-flex align-items-center"> <div class="overflow-hidden d-flex align-items-center">
<h2 class="m-0 str-truncated-100 gl-font-base">{{ filename }}</h2> <h2 class="m-0 str-truncated-100 gl-font-base">{{ filename }}</h2>
...@@ -112,7 +111,7 @@ export default { ...@@ -112,7 +111,7 @@ export default {
</div> </div>
<pagination :id="id" class="ml-auto flex-shrink-0" /> <pagination :id="id" class="ml-auto flex-shrink-0" />
<gl-deprecated-button :href="image" class="mr-2"> <gl-deprecated-button :href="image" class="mr-2">
<icon :size="18" name="download" /> <gl-icon :size="18" name="download" />
</gl-deprecated-button> </gl-deprecated-button>
<delete-button <delete-button
v-if="isLatestVersion && canDeleteDesign" v-if="isLatestVersion && canDeleteDesign"
...@@ -120,7 +119,7 @@ export default { ...@@ -120,7 +119,7 @@ export default {
button-variant="danger" button-variant="danger"
@deleteSelectedDesigns="$emit('delete')" @deleteSelectedDesigns="$emit('delete')"
> >
<icon :size="18" name="remove" /> <gl-icon :size="18" name="remove" />
</delete-button> </delete-button>
</header> </header>
</template> </template>
<script> <script>
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import { DESIGN_ROUTE_NAME } from '../../router/constants'; import { DESIGN_ROUTE_NAME } from '../../router/constants';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
design: { design: {
...@@ -43,6 +43,6 @@ export default { ...@@ -43,6 +43,6 @@ export default {
:aria-label="title" :aria-label="title"
class="btn btn-default" class="btn btn-default"
> >
<icon :name="iconName" /> <gl-icon :name="iconName" />
</router-link> </router-link>
</template> </template>
...@@ -5,7 +5,6 @@ import { GlButtonGroup, GlButton, GlIcon, GlTooltipDirective } from '@gitlab/ui' ...@@ -5,7 +5,6 @@ import { GlButtonGroup, GlButton, GlIcon, GlTooltipDirective } from '@gitlab/ui'
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue'; import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
import Icon from '~/vue_shared/components/icon.vue';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue'; import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
...@@ -39,7 +38,6 @@ import { setUrlParams } from '../../lib/utils/url_utility'; ...@@ -39,7 +38,6 @@ import { setUrlParams } from '../../lib/utils/url_utility';
export default { export default {
components: { components: {
UserAvatarLink, UserAvatarLink,
Icon,
ClipboardButton, ClipboardButton,
TimeAgoTooltip, TimeAgoTooltip,
CommitPipelineStatus, CommitPipelineStatus,
...@@ -156,7 +154,7 @@ export default { ...@@ -156,7 +154,7 @@ export default {
type="button" type="button"
:aria-label="__('Toggle commit description')" :aria-label="__('Toggle commit description')"
> >
<icon :size="12" name="ellipsis_h" /> <gl-icon :size="12" name="ellipsis_h" />
</button> </button>
<div class="committer"> <div class="committer">
......
<script> <script>
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue'; import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
TimeAgo, TimeAgo,
}, },
props: { props: {
...@@ -29,7 +29,7 @@ export default { ...@@ -29,7 +29,7 @@ export default {
aria-expanded="false" aria-expanded="false"
> >
<span> {{ selectedVersionName }} </span> <span> {{ selectedVersionName }} </span>
<icon :size="12" name="angle-down" class="position-absolute" /> <gl-icon :size="12" name="angle-down" class="position-absolute" />
</a> </a>
<div class="dropdown-menu dropdown-select dropdown-menu-selectable"> <div class="dropdown-menu dropdown-select dropdown-menu-selectable">
<div class="dropdown-content"> <div class="dropdown-content">
......
<script> <script>
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import noteableDiscussion from '../../notes/components/noteable_discussion.vue'; import noteableDiscussion from '../../notes/components/noteable_discussion.vue';
export default { export default {
components: { components: {
noteableDiscussion, noteableDiscussion,
Icon, GlIcon,
}, },
props: { props: {
discussions: { discussions: {
...@@ -70,7 +70,7 @@ export default { ...@@ -70,7 +70,7 @@ export default {
class="js-diff-notes-toggle" class="js-diff-notes-toggle"
@click="toggleDiscussion({ discussionId: discussion.id })" @click="toggleDiscussion({ discussionId: discussion.id })"
> >
<icon v-if="discussion.expanded" name="collapse" class="collapse-icon" /> <gl-icon v-if="discussion.expanded" name="collapse" class="collapse-icon" />
<template v-else> <template v-else>
{{ index + 1 }} {{ index + 1 }}
</template> </template>
......
<script> <script>
import { mapState, mapActions } from 'vuex'; import { mapState, mapActions } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import { deprecatedCreateFlash as createFlash } from '~/flash'; import { deprecatedCreateFlash as createFlash } from '~/flash';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import { UNFOLD_COUNT, INLINE_DIFF_VIEW_TYPE, PARALLEL_DIFF_VIEW_TYPE } from '../constants'; import { UNFOLD_COUNT, INLINE_DIFF_VIEW_TYPE, PARALLEL_DIFF_VIEW_TYPE } from '../constants';
import * as utils from '../store/utils'; import * as utils from '../store/utils';
import tooltip from '../../vue_shared/directives/tooltip'; import tooltip from '../../vue_shared/directives/tooltip';
...@@ -26,7 +26,7 @@ export default { ...@@ -26,7 +26,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
fileHash: { fileHash: {
...@@ -237,7 +237,7 @@ export default { ...@@ -237,7 +237,7 @@ export default {
:title="__('Expand up')" :title="__('Expand up')"
@click="handleExpandLines(EXPAND_UP)" @click="handleExpandLines(EXPAND_UP)"
> >
<icon :size="12" name="expand-up" aria-hidden="true" /> <gl-icon :size="12" name="expand-up" aria-hidden="true" />
</a> </a>
<a class="mx-2 cursor-pointer js-unfold-all" @click="handleExpandLines()"> <a class="mx-2 cursor-pointer js-unfold-all" @click="handleExpandLines()">
<span>{{ s__('Diffs|Show unchanged lines') }}</span> <span>{{ s__('Diffs|Show unchanged lines') }}</span>
...@@ -251,7 +251,7 @@ export default { ...@@ -251,7 +251,7 @@ export default {
:title="__('Expand down')" :title="__('Expand down')"
@click="handleExpandLines(EXPAND_DOWN)" @click="handleExpandLines(EXPAND_DOWN)"
> >
<icon :size="12" name="expand-down" aria-hidden="true" /> <gl-icon :size="12" name="expand-down" aria-hidden="true" />
</a> </a>
</div> </div>
</td> </td>
......
<script> <script>
import { escape } from 'lodash'; import { escape } from 'lodash';
import { mapActions, mapGetters } from 'vuex'; import { mapActions, mapGetters } from 'vuex';
import { GlDeprecatedButton, GlTooltipDirective, GlLoadingIcon } from '@gitlab/ui'; import { GlDeprecatedButton, GlTooltipDirective, GlLoadingIcon, GlIcon } from '@gitlab/ui';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue'; import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
import Icon from '~/vue_shared/components/icon.vue';
import FileIcon from '~/vue_shared/components/file_icon.vue'; import FileIcon from '~/vue_shared/components/file_icon.vue';
import { truncateSha } from '~/lib/utils/text_utility'; import { truncateSha } from '~/lib/utils/text_utility';
import { __, s__, sprintf } from '~/locale'; import { __, s__, sprintf } from '~/locale';
...@@ -18,7 +17,7 @@ export default { ...@@ -18,7 +17,7 @@ export default {
GlDeprecatedButton, GlDeprecatedButton,
ClipboardButton, ClipboardButton,
EditButton, EditButton,
Icon, GlIcon,
FileIcon, FileIcon,
DiffStats, DiffStats,
}, },
...@@ -162,7 +161,7 @@ export default { ...@@ -162,7 +161,7 @@ export default {
@click.self="handleToggleFile" @click.self="handleToggleFile"
> >
<div class="file-header-content"> <div class="file-header-content">
<icon <gl-icon
v-if="collapsible" v-if="collapsible"
ref="collapseIcon" ref="collapseIcon"
:name="collapseIcon" :name="collapseIcon"
...@@ -237,7 +236,7 @@ export default { ...@@ -237,7 +236,7 @@ export default {
type="button" type="button"
@click="toggleFileDiscussionWrappers(diffFile)" @click="toggleFileDiscussionWrappers(diffFile)"
> >
<icon name="comment" /> <gl-icon name="comment" />
</gl-deprecated-button> </gl-deprecated-button>
</span> </span>
...@@ -273,8 +272,8 @@ export default { ...@@ -273,8 +272,8 @@ export default {
@click="toggleFullDiff(diffFile.file_path)" @click="toggleFullDiff(diffFile.file_path)"
> >
<gl-loading-icon v-if="diffFile.isLoadingFullFile" color="dark" inline /> <gl-loading-icon v-if="diffFile.isLoadingFullFile" color="dark" inline />
<icon v-else-if="diffFile.isShowingFullFile" name="doc-changes" /> <gl-icon v-else-if="diffFile.isShowingFullFile" name="doc-changes" />
<icon v-else name="doc-expand" /> <gl-icon v-else name="doc-expand" />
</gl-deprecated-button> </gl-deprecated-button>
<gl-deprecated-button <gl-deprecated-button
ref="viewButton" ref="viewButton"
...@@ -287,7 +286,7 @@ export default { ...@@ -287,7 +286,7 @@ export default {
data-track-property="diff_toggle_view_sha" data-track-property="diff_toggle_view_sha"
:title="viewFileButtonText" :title="viewFileButtonText"
> >
<icon name="doc-text" /> <gl-icon name="doc-text" />
</gl-deprecated-button> </gl-deprecated-button>
<a <a
...@@ -303,7 +302,7 @@ export default { ...@@ -303,7 +302,7 @@ export default {
data-track-property="diff_toggle_external" data-track-property="diff_toggle_external"
class="btn btn-file-option" class="btn btn-file-option"
> >
<icon name="external-link" /> <gl-icon name="external-link" />
</a> </a>
</div> </div>
</div> </div>
......
<script> <script>
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { n__ } from '~/locale'; import { n__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import { truncate } from '~/lib/utils/text_utility'; import { truncate } from '~/lib/utils/text_utility';
import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue'; import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue';
import { COUNT_OF_AVATARS_IN_GUTTER, LENGTH_OF_AVATAR_TOOLTIP } from '../constants'; import { COUNT_OF_AVATARS_IN_GUTTER, LENGTH_OF_AVATAR_TOOLTIP } from '../constants';
export default { export default {
components: { components: {
Icon, GlIcon,
UserAvatarImage, UserAvatarImage,
}, },
directives: { directives: {
...@@ -68,7 +67,7 @@ export default { ...@@ -68,7 +67,7 @@ export default {
class="diff-notes-collapse js-diff-comment-avatar js-diff-comment-button" class="diff-notes-collapse js-diff-comment-avatar js-diff-comment-button"
@click="$emit('toggleLineDiscussions')" @click="$emit('toggleLineDiscussions')"
> >
<icon :size="12" name="collapse" /> <gl-icon :size="12" name="collapse" />
</button> </button>
<template v-else> <template v-else>
<user-avatar-image <user-avatar-image
......
<script> <script>
import { isNumber } from 'lodash'; import { isNumber } from 'lodash';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import { n__ } from '~/locale'; import { n__ } from '~/locale';
export default { export default {
components: { Icon }, components: { GlIcon },
props: { props: {
addedLines: { addedLines: {
type: Number, type: Number,
...@@ -46,7 +46,7 @@ export default { ...@@ -46,7 +46,7 @@ export default {
}" }"
> >
<div v-if="hasDiffFiles" class="diff-stats-group"> <div v-if="hasDiffFiles" class="diff-stats-group">
<icon name="doc-code" class="diff-stats-icon text-secondary" /> <gl-icon name="doc-code" class="diff-stats-icon text-secondary" />
<span class="text-secondary bold">{{ diffFilesCountText }} {{ filesText }}</span> <span class="text-secondary bold">{{ diffFilesCountText }} {{ filesText }}</span>
</div> </div>
<div <div
......
<script> <script>
import { GlTooltipDirective, GlDeprecatedButton } from '@gitlab/ui'; import { GlTooltipDirective, GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
GlDeprecatedButton, GlDeprecatedButton,
Icon, GlIcon,
}, },
directives: { directives: {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
...@@ -59,7 +58,7 @@ export default { ...@@ -59,7 +58,7 @@ export default {
class="rounded-0 js-edit-blob" class="rounded-0 js-edit-blob"
@click.native="handleEditClick" @click.native="handleEditClick"
> >
<icon name="pencil" /> <gl-icon name="pencil" />
</gl-deprecated-button> </gl-deprecated-button>
</span> </span>
</template> </template>
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
import { mapActions, mapGetters } from 'vuex'; import { mapActions, mapGetters } from 'vuex';
import { isArray } from 'lodash'; import { isArray } from 'lodash';
import imageDiffMixin from 'ee_else_ce/diffs/mixins/image_diff'; import imageDiffMixin from 'ee_else_ce/diffs/mixins/image_diff';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
export default { export default {
name: 'ImageDiffOverlay', name: 'ImageDiffOverlay',
components: { components: {
Icon, GlIcon,
}, },
mixins: [imageDiffMixin], mixins: [imageDiffMixin],
props: { props: {
...@@ -112,7 +112,7 @@ export default { ...@@ -112,7 +112,7 @@ export default {
type="button" type="button"
@click="clickedToggle(discussion)" @click="clickedToggle(discussion)"
> >
<icon v-if="showCommentIcon" name="image-comment-dark" /> <gl-icon v-if="showCommentIcon" name="image-comment-dark" />
<template v-else> <template v-else>
{{ toggleText(discussion, index) }} {{ toggleText(discussion, index) }}
</template> </template>
...@@ -127,7 +127,7 @@ export default { ...@@ -127,7 +127,7 @@ export default {
class="btn-transparent comment-indicator" class="btn-transparent comment-indicator"
type="button" type="button"
> >
<icon name="image-comment-dark" /> <gl-icon name="image-comment-dark" />
</button> </button>
</div> </div>
</template> </template>
<script> <script>
import { mapActions, mapGetters, mapState } from 'vuex'; import { mapActions, mapGetters, mapState } from 'vuex';
import { GlDeprecatedButton } from '@gitlab/ui'; import { GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
GlDeprecatedButton, GlDeprecatedButton,
Icon, GlIcon,
}, },
computed: { computed: {
...mapGetters('diffs', ['isInlineView', 'isParallelView']), ...mapGetters('diffs', ['isInlineView', 'isParallelView']),
...@@ -31,7 +30,7 @@ export default { ...@@ -31,7 +30,7 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
data-display="static" data-display="static"
> >
<icon name="settings" /> <icon name="chevron-down" /> <gl-icon name="settings" /> <gl-icon name="chevron-down" />
</button> </button>
<div class="dropdown-menu dropdown-menu-right p-2 pt-3 pb-3"> <div class="dropdown-menu dropdown-menu-right p-2 pt-3 pb-3">
<div> <div>
......
<script> <script>
import { mapActions, mapGetters, mapState } from 'vuex'; import { mapActions, mapGetters, mapState } from 'vuex';
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { s__, sprintf } from '~/locale'; import { s__, sprintf } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import FileTree from '~/vue_shared/components/file_tree.vue'; import FileTree from '~/vue_shared/components/file_tree.vue';
import DiffFileRow from './diff_file_row.vue'; import DiffFileRow from './diff_file_row.vue';
...@@ -11,7 +10,7 @@ export default { ...@@ -11,7 +10,7 @@ export default {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
}, },
components: { components: {
Icon, GlIcon,
FileTree, FileTree,
}, },
props: { props: {
...@@ -66,7 +65,7 @@ export default { ...@@ -66,7 +65,7 @@ export default {
<div class="tree-list-holder d-flex flex-column"> <div class="tree-list-holder d-flex flex-column">
<div class="gl-mb-3 position-relative tree-list-search d-flex"> <div class="gl-mb-3 position-relative tree-list-search d-flex">
<div class="flex-fill d-flex"> <div class="flex-fill d-flex">
<icon name="search" class="position-absolute tree-list-icon" /> <gl-icon name="search" class="position-absolute tree-list-icon" />
<label for="diff-tree-search" class="sr-only">{{ $options.searchPlaceholder }}</label> <label for="diff-tree-search" class="sr-only">{{ $options.searchPlaceholder }}</label>
<input <input
id="diff-tree-search" id="diff-tree-search"
...@@ -83,7 +82,7 @@ export default { ...@@ -83,7 +82,7 @@ export default {
class="position-absolute bg-transparent tree-list-icon tree-list-clear-icon border-0 p-0" class="position-absolute bg-transparent tree-list-icon tree-list-clear-icon border-0 p-0"
@click="clearSearch" @click="clearSearch"
> >
<icon name="close" /> <gl-icon name="close" />
</button> </button>
</div> </div>
</div> </div>
......
<script> <script>
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { __, s__, sprintf } from '~/locale'; import { __, s__, sprintf } from '~/locale';
import { formatTime } from '~/lib/utils/datetime_utility'; import { formatTime } from '~/lib/utils/datetime_utility';
import Icon from '~/vue_shared/components/icon.vue';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import tooltip from '../../vue_shared/directives/tooltip'; import tooltip from '../../vue_shared/directives/tooltip';
...@@ -11,7 +10,7 @@ export default { ...@@ -11,7 +10,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
props: { props: {
...@@ -80,8 +79,8 @@ export default { ...@@ -80,8 +79,8 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
> >
<span> <span>
<icon name="play" /> <gl-icon name="play" />
<icon name="chevron-down" /> <gl-icon name="chevron-down" />
<gl-loading-icon v-if="isLoading" /> <gl-loading-icon v-if="isLoading" />
</span> </span>
</button> </button>
...@@ -97,7 +96,7 @@ export default { ...@@ -97,7 +96,7 @@ export default {
> >
<span class="flex-fill">{{ action.name }}</span> <span class="flex-fill">{{ action.name }}</span>
<span v-if="action.scheduledAt" class="text-secondary"> <span v-if="action.scheduledAt" class="text-secondary">
<icon name="clock" /> <gl-icon name="clock" />
{{ remainingTime(action) }} {{ remainingTime(action) }}
</span> </span>
</button> </button>
......
...@@ -5,15 +5,14 @@ ...@@ -5,15 +5,14 @@
*/ */
import $ from 'jquery'; import $ from 'jquery';
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import LoadingButton from '../../vue_shared/components/loading_button.vue'; import LoadingButton from '../../vue_shared/components/loading_button.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
LoadingButton, LoadingButton,
}, },
directives: { directives: {
...@@ -65,6 +64,6 @@ export default { ...@@ -65,6 +64,6 @@ export default {
data-target="#delete-environment-modal" data-target="#delete-environment-modal"
@click="onClick" @click="onClick"
> >
<icon name="remove" /> <gl-icon name="remove" />
</loading-button> </loading-button>
</template> </template>
<script> <script>
/* eslint-disable @gitlab/vue-require-i18n-strings */ /* eslint-disable @gitlab/vue-require-i18n-strings */
import { isEmpty } from 'lodash'; import { isEmpty } from 'lodash';
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';
import timeagoMixin from '~/vue_shared/mixins/timeago'; import timeagoMixin from '~/vue_shared/mixins/timeago';
import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue'; import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
import CommitComponent from '~/vue_shared/components/commit.vue'; import CommitComponent from '~/vue_shared/components/commit.vue';
import Icon from '~/vue_shared/components/icon.vue';
import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue'; import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import ActionsComponent from './environment_actions.vue'; import ActionsComponent from './environment_actions.vue';
...@@ -30,7 +29,7 @@ export default { ...@@ -30,7 +29,7 @@ export default {
ActionsComponent, ActionsComponent,
CommitComponent, CommitComponent,
ExternalUrlComponent, ExternalUrlComponent,
Icon, GlIcon,
MonitoringButtonComponent, MonitoringButtonComponent,
PinComponent, PinComponent,
DeleteComponent, DeleteComponent,
...@@ -535,7 +534,7 @@ export default { ...@@ -535,7 +534,7 @@ export default {
</div> </div>
<span v-if="shouldRenderDeployBoard" class="deploy-board-icon" @click="toggleDeployBoard"> <span v-if="shouldRenderDeployBoard" class="deploy-board-icon" @click="toggleDeployBoard">
<icon :name="deployIconName" /> <gl-icon :name="deployIconName" />
</span> </span>
<span <span
...@@ -560,9 +559,9 @@ export default { ...@@ -560,9 +559,9 @@ export default {
role="button" role="button"
@click="onClickFolder" @click="onClickFolder"
> >
<icon :name="folderIconName" class="folder-icon" /> <gl-icon :name="folderIconName" class="folder-icon" />
<icon name="folder" class="folder-icon" /> <gl-icon name="folder" class="folder-icon" />
<span> {{ model.folderName }} </span> <span> {{ model.folderName }} </span>
......
<script> <script>
import { GlDeprecatedButton, GlTooltipDirective } from '@gitlab/ui'; import { GlDeprecatedButton, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
/** /**
* Renders the Monitoring (Metrics) link in environments table. * Renders the Monitoring (Metrics) link in environments table.
*/ */
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
GlDeprecatedButton, GlDeprecatedButton,
}, },
directives: { directives: {
...@@ -37,6 +35,6 @@ export default { ...@@ -37,6 +35,6 @@ export default {
rel="noopener noreferrer nofollow" rel="noopener noreferrer nofollow"
variant="default" variant="default"
> >
<icon name="chart" /> <gl-icon name="chart" />
</gl-deprecated-button> </gl-deprecated-button>
</template> </template>
...@@ -3,14 +3,13 @@ ...@@ -3,14 +3,13 @@
* Renders a prevent auto-stop button. * Renders a prevent auto-stop button.
* Used in environments table. * Used in environments table.
*/ */
import { GlDeprecatedButton, GlTooltipDirective } from '@gitlab/ui'; import { GlDeprecatedButton, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __ } from '~/locale'; import { __ } from '~/locale';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
export default { export default {
components: { components: {
Icon, GlIcon,
GlDeprecatedButton, GlDeprecatedButton,
}, },
directives: { directives: {
...@@ -37,6 +36,6 @@ export default { ...@@ -37,6 +36,6 @@ export default {
:aria-label="$options.title" :aria-label="$options.title"
@click="onPinClick" @click="onPinClick"
> >
<icon name="thumbtack" /> <gl-icon name="thumbtack" />
</gl-deprecated-button> </gl-deprecated-button>
</template> </template>
...@@ -10,14 +10,14 @@ import { ...@@ -10,14 +10,14 @@ import {
GlLoadingIcon, GlLoadingIcon,
GlModalDirective, GlModalDirective,
GlDeprecatedButton, GlDeprecatedButton,
GlIcon,
} from '@gitlab/ui'; } from '@gitlab/ui';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
export default { export default {
components: { components: {
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
GlDeprecatedButton, GlDeprecatedButton,
}, },
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
class="d-none d-md-block text-secondary" class="d-none d-md-block text-secondary"
@click="onClick" @click="onClick"
> >
<icon v-if="isLastDeployment" name="repeat" /> <icon v-else name="redo" /> <gl-icon v-if="isLastDeployment" name="repeat" /> <gl-icon v-else name="redo" />
<gl-loading-icon v-if="isLoading" /> <gl-loading-icon v-if="isLoading" />
</gl-deprecated-button> </gl-deprecated-button>
</template> </template>
...@@ -3,13 +3,12 @@ ...@@ -3,13 +3,12 @@
* Renders a terminal button to open a web terminal. * Renders a terminal button to open a web terminal.
* Used in environments table. * Used in environments table.
*/ */
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __ } from '~/locale'; import { __ } from '~/locale';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
directives: { directives: {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
...@@ -42,6 +41,6 @@ export default { ...@@ -42,6 +41,6 @@ export default {
:class="{ disabled: disabled }" :class="{ disabled: disabled }"
class="btn terminal-button d-none d-sm-none d-md-block text-secondary" class="btn terminal-button d-none d-sm-none d-md-block text-secondary"
> >
<icon name="terminal" /> <gl-icon name="terminal" />
</a> </a>
</template> </template>
...@@ -11,10 +11,10 @@ import { ...@@ -11,10 +11,10 @@ import {
GlDeprecatedDropdown, GlDeprecatedDropdown,
GlDeprecatedDropdownItem, GlDeprecatedDropdownItem,
GlDeprecatedDropdownDivider, GlDeprecatedDropdownDivider,
GlIcon,
} from '@gitlab/ui'; } from '@gitlab/ui';
import { deprecatedCreateFlash as createFlash } from '~/flash'; import { deprecatedCreateFlash as createFlash } from '~/flash';
import { __, sprintf, n__ } from '~/locale'; import { __, sprintf, n__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue'; import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue';
import Stacktrace from './stacktrace.vue'; import Stacktrace from './stacktrace.vue';
import TrackEventDirective from '~/vue_shared/directives/track_event'; import TrackEventDirective from '~/vue_shared/directives/track_event';
...@@ -38,7 +38,7 @@ export default { ...@@ -38,7 +38,7 @@ export default {
GlLink, GlLink,
GlLoadingIcon, GlLoadingIcon,
TooltipOnTruncate, TooltipOnTruncate,
Icon, GlIcon,
Stacktrace, Stacktrace,
GlBadge, GlBadge,
GlAlert, GlAlert,
...@@ -397,7 +397,7 @@ export default { ...@@ -397,7 +397,7 @@ export default {
data-testid="external-url-link" data-testid="external-url-link"
> >
<span class="text-truncate">{{ error.externalUrl }}</span> <span class="text-truncate">{{ error.externalUrl }}</span>
<icon name="external-link" class="ml-1 flex-shrink-0" /> <gl-icon name="external-link" class="ml-1 flex-shrink-0" />
</gl-link> </gl-link>
</li> </li>
<li v-if="error.firstReleaseVersion"> <li v-if="error.firstReleaseVersion">
......
<script> <script>
import { GlTooltip, GlSprintf } from '@gitlab/ui'; import { GlTooltip, GlSprintf, GlIcon } from '@gitlab/ui';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue'; import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
import FileIcon from '~/vue_shared/components/file_icon.vue'; import FileIcon from '~/vue_shared/components/file_icon.vue';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
ClipboardButton, ClipboardButton,
FileIcon, FileIcon,
Icon, GlIcon,
GlSprintf, GlSprintf,
}, },
directives: { directives: {
...@@ -80,7 +79,7 @@ export default { ...@@ -80,7 +79,7 @@ export default {
<div ref="header" class="file-title file-title-flex-parent"> <div ref="header" class="file-title file-title-flex-parent">
<div class="file-header-content d-flex align-content-center"> <div class="file-header-content d-flex align-content-center">
<div v-if="hasCode" class="d-inline-block cursor-pointer" @click="toggle()"> <div v-if="hasCode" class="d-inline-block cursor-pointer" @click="toggle()">
<icon :name="collapseIcon" :size="16" aria-hidden="true" class="gl-mr-2" /> <gl-icon :name="collapseIcon" :size="16" aria-hidden="true" class="gl-mr-2" />
</div> </div>
<file-icon :file-name="filePath" :size="18" aria-hidden="true" css-classes="gl-mr-2" /> <file-icon :file-name="filePath" :size="18" aria-hidden="true" css-classes="gl-mr-2" />
<strong <strong
......
<script> <script>
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import { GlFormInput } from '@gitlab/ui'; import { GlFormInput, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import LoadingButton from '~/vue_shared/components/loading_button.vue'; import LoadingButton from '~/vue_shared/components/loading_button.vue';
export default { export default {
components: { GlFormInput, Icon, LoadingButton }, components: { GlFormInput, GlIcon, LoadingButton },
computed: { computed: {
...mapState(['apiHost', 'connectError', 'connectSuccessful', 'isLoadingProjects', 'token']), ...mapState(['apiHost', 'connectError', 'connectSuccessful', 'isLoadingProjects', 'token']),
tokenInputState() { tokenInputState() {
...@@ -64,7 +63,7 @@ export default { ...@@ -64,7 +63,7 @@ export default {
:loading="isLoadingProjects" :loading="isLoadingProjects"
@click="fetchProjects" @click="fetchProjects"
/> />
<icon <gl-icon
v-show="connectSuccessful" v-show="connectSuccessful"
class="js-error-tracking-connect-success gl-ml-2 text-success align-middle" class="js-error-tracking-connect-success gl-ml-2 text-success align-middle"
:aria-label="__('Projects Successfully Retrieved')" :aria-label="__('Projects Successfully Retrieved')"
......
<script> <script>
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import frequentItemsMixin from './frequent_items_mixin'; import frequentItemsMixin from './frequent_items_mixin';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
mixins: [frequentItemsMixin], mixins: [frequentItemsMixin],
data() { data() {
...@@ -49,6 +49,6 @@ export default { ...@@ -49,6 +49,6 @@ export default {
type="search" type="search"
class="form-control" class="form-control"
/> />
<icon v-if="!searchQuery" name="search" class="search-icon" /> <gl-icon v-if="!searchQuery" name="search" class="search-icon" />
</div> </div>
</template> </template>
<script> <script>
import { GlButton, GlFormGroup, GlFormInput, GlFormCheckbox } from '@gitlab/ui'; import { GlButton, GlFormGroup, GlFormInput, GlFormCheckbox, GlIcon } from '@gitlab/ui';
import { mapState, mapActions } from 'vuex'; import { mapState, mapActions } from 'vuex';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
...@@ -9,7 +8,7 @@ export default { ...@@ -9,7 +8,7 @@ export default {
GlFormCheckbox, GlFormCheckbox,
GlFormGroup, GlFormGroup,
GlFormInput, GlFormInput,
Icon, GlIcon,
}, },
data() { data() {
return { placeholderUrl: 'https://my-url.grafana.net/' }; return { placeholderUrl: 'https://my-url.grafana.net/' };
...@@ -89,7 +88,7 @@ export default { ...@@ -89,7 +88,7 @@ export default {
rel="noopener noreferrer" rel="noopener noreferrer"
> >
{{ __('More information') }} {{ __('More information') }}
<icon name="external-link" class="vertical-align-middle" /> <gl-icon name="external-link" class="vertical-align-middle" />
</a> </a>
</p> </p>
</gl-form-group> </gl-form-group>
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import icon from '~/vue_shared/components/icon.vue';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import { COMMON_STR } from '../constants'; import { COMMON_STR } from '../constants';
export default { export default {
components: { components: {
icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -56,7 +56,7 @@ export default { ...@@ -56,7 +56,7 @@ export default {
class="leave-group btn btn-xs no-expand gl-text-gray-500 gl-ml-5" class="leave-group btn btn-xs no-expand gl-text-gray-500 gl-ml-5"
@click.prevent="onLeaveGroup" @click.prevent="onLeaveGroup"
> >
<icon name="leave" class="position-top-0" /> <gl-icon name="leave" class="position-top-0" />
</a> </a>
<a <a
v-if="group.canEdit" v-if="group.canEdit"
...@@ -68,7 +68,7 @@ export default { ...@@ -68,7 +68,7 @@ export default {
data-placement="bottom" data-placement="bottom"
class="edit-group btn btn-xs no-expand gl-text-gray-500 gl-ml-5" class="edit-group btn btn-xs no-expand gl-text-gray-500 gl-ml-5"
> >
<icon name="settings" class="position-top-0 align-middle" /> <gl-icon name="settings" class="position-top-0 align-middle" />
</a> </a>
</div> </div>
</template> </template>
<script> <script>
import icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
export default { export default {
components: { components: {
icon, GlIcon,
}, },
props: { props: {
isGroupOpen: { isGroupOpen: {
...@@ -21,5 +21,5 @@ export default { ...@@ -21,5 +21,5 @@ export default {
</script> </script>
<template> <template>
<span class="folder-caret gl-mr-2"> <icon :size="10" :name="iconClass" /> </span> <span class="folder-caret gl-mr-2"> <gl-icon :size="10" :name="iconClass" /> </span>
</template> </template>
<script> <script>
import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -57,6 +57,6 @@ export default { ...@@ -57,6 +57,6 @@ export default {
:title="title" :title="title"
data-container="body" data-container="body"
> >
<icon :name="iconName" /> <span v-if="isValuePresent" class="stat-value"> {{ value }} </span> <gl-icon :name="iconName" /> <span v-if="isValuePresent" class="stat-value"> {{ value }} </span>
</span> </span>
</template> </template>
<script> <script>
import icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import { ITEM_TYPE } from '../constants'; import { ITEM_TYPE } from '../constants';
export default { export default {
components: { components: {
icon, GlIcon,
}, },
props: { props: {
itemType: { itemType: {
...@@ -29,5 +29,5 @@ export default { ...@@ -29,5 +29,5 @@ export default {
</script> </script>
<template> <template>
<span class="item-type-icon"> <icon :name="iconClass" /> </span> <span class="item-type-icon"> <gl-icon :name="iconClass" /> </span>
</template> </template>
<script> <script>
import $ from 'jquery'; import $ from 'jquery';
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import { leftSidebarViews } from '../constants'; import { leftSidebarViews } from '../constants';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -48,7 +48,7 @@ export default { ...@@ -48,7 +48,7 @@ export default {
class="ide-sidebar-link js-ide-edit-mode" class="ide-sidebar-link js-ide-edit-mode"
@click.prevent="changedActivityView($event, $options.leftSidebarViews.edit.name)" @click.prevent="changedActivityView($event, $options.leftSidebarViews.edit.name)"
> >
<icon name="code" /> <gl-icon name="code" />
</button> </button>
</li> </li>
<li> <li>
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
class="ide-sidebar-link js-ide-review-mode" class="ide-sidebar-link js-ide-review-mode"
@click.prevent="changedActivityView($event, $options.leftSidebarViews.review.name)" @click.prevent="changedActivityView($event, $options.leftSidebarViews.review.name)"
> >
<icon name="file-modified" /> <gl-icon name="file-modified" />
</button> </button>
</li> </li>
<li> <li>
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
class="ide-sidebar-link js-ide-commit-mode qa-commit-mode-tab" class="ide-sidebar-link js-ide-commit-mode qa-commit-mode-tab"
@click.prevent="changedActivityView($event, $options.leftSidebarViews.commit.name)" @click.prevent="changedActivityView($event, $options.leftSidebarViews.commit.name)"
> >
<icon name="commit" /> <gl-icon name="commit" />
</button> </button>
</li> </li>
</ul> </ul>
......
<script> <script>
/* eslint-disable @gitlab/vue-require-i18n-strings */ /* eslint-disable @gitlab/vue-require-i18n-strings */
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import Timeago from '~/vue_shared/components/time_ago_tooltip.vue'; import Timeago from '~/vue_shared/components/time_ago_tooltip.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
Timeago, Timeago,
}, },
props: { props: {
...@@ -34,7 +34,7 @@ export default { ...@@ -34,7 +34,7 @@ export default {
<template> <template>
<a :href="branchHref" class="btn-link d-flex align-items-center"> <a :href="branchHref" class="btn-link d-flex align-items-center">
<span class="d-flex gl-mr-3 ide-search-list-current-icon"> <span class="d-flex gl-mr-3 ide-search-list-current-icon">
<icon v-if="isActive" :size="18" name="mobile-issue-close" /> <gl-icon v-if="isActive" :size="18" name="mobile-issue-close" />
</span> </span>
<span> <span>
<strong> {{ item.name }} </strong> <strong> {{ item.name }} </strong>
......
<script> <script>
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import Item from './item.vue'; import Item from './item.vue';
export default { export default {
components: { components: {
Item, Item,
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
data() { data() {
...@@ -67,7 +66,7 @@ export default { ...@@ -67,7 +66,7 @@ export default {
class="form-control dropdown-input-field" class="form-control dropdown-input-field"
@input="searchBranches" @input="searchBranches"
/> />
<icon :size="18" name="search" class="ml-3 input-icon" /> <gl-icon :size="18" name="search" class="ml-3 input-icon" />
</label> </label>
<div class="dropdown-content ide-merge-requests-dropdown-content d-flex"> <div class="dropdown-content ide-merge-requests-dropdown-content d-flex">
<gl-loading-icon <gl-loading-icon
......
<script> <script>
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import { GlModal } from '@gitlab/ui'; import { GlModal, GlIcon } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import ListItem from './list_item.vue'; import ListItem from './list_item.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
ListItem, ListItem,
GlModal, GlModal,
}, },
...@@ -74,7 +73,7 @@ export default { ...@@ -74,7 +73,7 @@ export default {
<div class="ide-commit-list-container"> <div class="ide-commit-list-container">
<header class="multi-file-commit-panel-header d-flex mb-0"> <header class="multi-file-commit-panel-header d-flex mb-0">
<div class="d-flex align-items-center flex-fill"> <div class="d-flex align-items-center flex-fill">
<icon v-once :name="iconName" :size="18" class="gl-mr-3" /> <gl-icon v-once :name="iconName" :size="18" class="gl-mr-3" />
<strong> {{ titleText }} </strong> <strong> {{ titleText }} </strong>
<div class="d-flex ml-auto"> <div class="d-flex ml-auto">
<button <button
...@@ -93,7 +92,7 @@ export default { ...@@ -93,7 +92,7 @@ export default {
data-boundary="viewport" data-boundary="viewport"
@click="openDiscardModal" @click="openDiscardModal"
> >
<icon :size="16" name="remove-all" class="ml-auto mr-auto position-top-0" /> <gl-icon :size="16" name="remove-all" class="ml-auto mr-auto position-top-0" />
</button> </button>
</div> </div>
</div> </div>
......
<script> <script>
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import { sprintf, n__, __ } from '~/locale'; import { sprintf, n__, __ } from '~/locale';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -77,7 +77,7 @@ export default { ...@@ -77,7 +77,7 @@ export default {
data-placement="left" data-placement="left"
class="gl-mb-5" class="gl-mb-5"
> >
<icon v-once :name="iconName" :size="18" /> <gl-icon v-once :name="iconName" :size="18" />
</div> </div>
<div <div
v-tooltip v-tooltip
...@@ -86,7 +86,7 @@ export default { ...@@ -86,7 +86,7 @@ export default {
data-placement="left" data-placement="left"
class="gl-mb-3" class="gl-mb-3"
> >
<icon :name="additionIconName" :size="18" :class="addedFilesIconClass" /> <gl-icon :name="additionIconName" :size="18" :class="addedFilesIconClass" />
</div> </div>
{{ addedFilesLength }} {{ addedFilesLength }}
<div <div
...@@ -96,7 +96,7 @@ export default { ...@@ -96,7 +96,7 @@ export default {
data-placement="left" data-placement="left"
class="gl-mt-3 gl-mb-3" class="gl-mt-3 gl-mb-3"
> >
<icon :name="modifiedIconName" :size="18" :class="modifiedFilesClass" /> <gl-icon :name="modifiedIconName" :size="18" :class="modifiedFilesClass" />
</div> </div>
{{ modifiedFilesLength }} {{ modifiedFilesLength }}
</div> </div>
......
<script> <script>
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import Icon from '~/vue_shared/components/icon.vue';
import FileIcon from '~/vue_shared/components/file_icon.vue'; import FileIcon from '~/vue_shared/components/file_icon.vue';
import { viewerTypes } from '../../constants'; import { viewerTypes } from '../../constants';
import getCommitIconMap from '../../commit_icon'; import getCommitIconMap from '../../commit_icon';
export default { export default {
components: { components: {
Icon, GlIcon,
FileIcon, FileIcon,
}, },
directives: { directives: {
...@@ -95,7 +95,7 @@ export default { ...@@ -95,7 +95,7 @@ export default {
</span> </span>
<div class="ml-auto d-flex align-items-center"> <div class="ml-auto d-flex align-items-center">
<div class="d-flex align-items-center ide-commit-list-changed-icon"> <div class="d-flex align-items-center ide-commit-list-changed-icon">
<icon :name="iconName" :size="16" :class="iconClass" /> <gl-icon :name="iconName" :size="16" :class="iconClass" />
</div> </div>
</div> </div>
</div> </div>
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import { __, sprintf } from '../../../locale'; import { __, sprintf } from '../../../locale';
import Icon from '../../../vue_shared/components/icon.vue';
import popover from '../../../vue_shared/directives/popover'; import popover from '../../../vue_shared/directives/popover';
import { MAX_TITLE_LENGTH, MAX_BODY_LENGTH } from '../../constants'; import { MAX_TITLE_LENGTH, MAX_BODY_LENGTH } from '../../constants';
...@@ -9,7 +9,7 @@ export default { ...@@ -9,7 +9,7 @@ export default {
popover, popover,
}, },
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
text: { text: {
...@@ -84,7 +84,7 @@ export default { ...@@ -84,7 +84,7 @@ export default {
<li> <li>
{{ __('Commit Message') }} {{ __('Commit Message') }}
<span v-popover="$options.popoverOptions" class="form-text text-muted gl-ml-3"> <span v-popover="$options.popoverOptions" class="form-text text-muted gl-ml-3">
<icon name="question" /> <gl-icon name="question" />
</span> </span>
</li> </li>
</ul> </ul>
......
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import { n__ } from '~/locale'; import { n__ } from '~/locale';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import Icon from '~/vue_shared/components/icon.vue';
import ChangedFileIcon from '~/vue_shared/components/changed_file_icon.vue'; import ChangedFileIcon from '~/vue_shared/components/changed_file_icon.vue';
import NewDropdown from './new_dropdown/index.vue'; import NewDropdown from './new_dropdown/index.vue';
import MrFileIcon from './mr_file_icon.vue'; import MrFileIcon from './mr_file_icon.vue';
...@@ -13,7 +13,7 @@ export default { ...@@ -13,7 +13,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
NewDropdown, NewDropdown,
ChangedFileIcon, ChangedFileIcon,
MrFileIcon, MrFileIcon,
...@@ -69,7 +69,7 @@ export default { ...@@ -69,7 +69,7 @@ export default {
<mr-file-icon v-if="file.mrChange" /> <mr-file-icon v-if="file.mrChange" />
<span v-if="showTreeChangesCount" class="ide-tree-changes"> <span v-if="showTreeChangesCount" class="ide-tree-changes">
{{ changesCount }} {{ changesCount }}
<icon <gl-icon
v-tooltip v-tooltip
:title="folderChangesTooltip" :title="folderChangesTooltip"
:size="12" :size="12"
......
<script> <script>
/* eslint-disable @gitlab/vue-require-i18n-strings */ /* eslint-disable @gitlab/vue-require-i18n-strings */
import { mapActions, mapState, mapGetters } from 'vuex'; import { mapActions, mapState, mapGetters } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import IdeStatusList from './ide_status_list.vue'; import IdeStatusList from './ide_status_list.vue';
import IdeStatusMr from './ide_status_mr.vue'; import IdeStatusMr from './ide_status_mr.vue';
import icon from '~/vue_shared/components/icon.vue';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import timeAgoMixin from '~/vue_shared/mixins/timeago'; import timeAgoMixin from '~/vue_shared/mixins/timeago';
import CiIcon from '../../vue_shared/components/ci_icon.vue'; import CiIcon from '../../vue_shared/components/ci_icon.vue';
...@@ -12,7 +12,7 @@ import { rightSidebarViews } from '../constants'; ...@@ -12,7 +12,7 @@ import { rightSidebarViews } from '../constants';
export default { export default {
components: { components: {
icon, GlIcon,
userAvatarImage, userAvatarImage,
CiIcon, CiIcon,
IdeStatusList, IdeStatusList,
...@@ -97,7 +97,7 @@ export default { ...@@ -97,7 +97,7 @@ export default {
{{ latestPipeline.details.status.text }} for {{ latestPipeline.details.status.text }} for
</span> </span>
<icon name="commit" /> <gl-icon name="commit" />
<a <a
v-tooltip v-tooltip
:title="lastCommit.message" :title="lastCommit.message"
......
<script> <script>
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import { throttle } from 'lodash'; import { throttle } from 'lodash';
import { GlIcon } from '@gitlab/ui';
import { __ } from '../../../locale'; import { __ } from '../../../locale';
import tooltip from '../../../vue_shared/directives/tooltip'; import tooltip from '../../../vue_shared/directives/tooltip';
import Icon from '../../../vue_shared/components/icon.vue';
import ScrollButton from './detail/scroll_button.vue'; import ScrollButton from './detail/scroll_button.vue';
import JobDescription from './detail/description.vue'; import JobDescription from './detail/description.vue';
...@@ -17,7 +17,7 @@ export default { ...@@ -17,7 +17,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
ScrollButton, ScrollButton,
JobDescription, JobDescription,
}, },
...@@ -76,7 +76,7 @@ export default { ...@@ -76,7 +76,7 @@ export default {
<div class="ide-pipeline build-page d-flex flex-column flex-fill"> <div class="ide-pipeline build-page d-flex flex-column flex-fill">
<header class="ide-job-header d-flex align-items-center"> <header class="ide-job-header d-flex align-items-center">
<button class="btn btn-default btn-sm d-flex" @click="setDetailJob(null)"> <button class="btn btn-default btn-sm d-flex" @click="setDetailJob(null)">
<icon name="chevron-left" /> {{ __('View jobs') }} <gl-icon name="chevron-left" /> {{ __('View jobs') }}
</button> </button>
</header> </header>
<div class="top-bar d-flex border-left-0 mr-3"> <div class="top-bar d-flex border-left-0 mr-3">
......
<script> <script>
import Icon from '../../../../vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import CiIcon from '../../../../vue_shared/components/ci_icon.vue'; import CiIcon from '../../../../vue_shared/components/ci_icon.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
CiIcon, CiIcon,
}, },
props: { props: {
...@@ -27,7 +27,7 @@ export default { ...@@ -27,7 +27,7 @@ export default {
<span class="gl-ml-3"> <span class="gl-ml-3">
{{ job.name }} {{ job.name }}
<a :href="job.path" target="_blank" class="ide-external-link position-relative"> <a :href="job.path" target="_blank" class="ide-external-link position-relative">
{{ jobId }} <icon :size="12" name="external-link" /> {{ jobId }} <gl-icon :size="12" name="external-link" />
</a> </a>
</span> </span>
</div> </div>
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import { __ } from '../../../../locale'; import { __ } from '../../../../locale';
import Icon from '../../../../vue_shared/components/icon.vue';
import tooltip from '../../../../vue_shared/directives/tooltip'; import tooltip from '../../../../vue_shared/directives/tooltip';
const directions = { const directions = {
...@@ -13,7 +13,7 @@ export default { ...@@ -13,7 +13,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
direction: { direction: {
...@@ -58,7 +58,7 @@ export default { ...@@ -58,7 +58,7 @@ export default {
type="button" type="button"
@click="clickedScroll" @click="clickedScroll"
> >
<icon :name="iconName" /> <gl-icon :name="iconName" />
</button> </button>
</div> </div>
</template> </template>
<script> <script>
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import tooltip from '../../../vue_shared/directives/tooltip'; import tooltip from '../../../vue_shared/directives/tooltip';
import Icon from '../../../vue_shared/components/icon.vue';
import CiIcon from '../../../vue_shared/components/ci_icon.vue'; import CiIcon from '../../../vue_shared/components/ci_icon.vue';
import Item from './item.vue'; import Item from './item.vue';
...@@ -10,7 +9,7 @@ export default { ...@@ -10,7 +9,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
CiIcon, CiIcon,
Item, Item,
GlLoadingIcon, GlLoadingIcon,
...@@ -78,7 +77,7 @@ export default { ...@@ -78,7 +77,7 @@ export default {
<div v-if="!stage.isLoading || stage.jobs.length" class="gl-mr-3 gl-ml-2"> <div v-if="!stage.isLoading || stage.jobs.length" class="gl-mr-3 gl-ml-2">
<span class="badge badge-pill"> {{ jobsCount }} </span> <span class="badge badge-pill"> {{ jobsCount }} </span>
</div> </div>
<icon :name="collapseIcon" class="ide-stage-collapse-icon" /> <gl-icon :name="collapseIcon" class="ide-stage-collapse-icon" />
</div> </div>
<div v-show="!stage.isCollapsed" ref="jobList" class="card-body p-0"> <div v-show="!stage.isCollapsed" ref="jobList" class="card-body p-0">
<gl-loading-icon v-if="showLoadingIcon" /> <gl-loading-icon v-if="showLoadingIcon" />
......
<script> <script>
import Icon from '../../../vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
item: { item: {
...@@ -41,7 +41,7 @@ export default { ...@@ -41,7 +41,7 @@ export default {
<template> <template>
<a :href="mergeRequestHref" class="btn-link d-flex align-items-center"> <a :href="mergeRequestHref" class="btn-link d-flex align-items-center">
<span class="d-flex gl-mr-3 ide-search-list-current-icon"> <span class="d-flex gl-mr-3 ide-search-list-current-icon">
<icon v-if="isActive" :size="18" name="mobile-issue-close" /> <gl-icon v-if="isActive" :size="18" name="mobile-issue-close" />
</span> </span>
<span> <span>
<strong> {{ item.title }} </strong> <strong> {{ item.title }} </strong>
......
<script> <script>
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import Item from './item.vue'; import Item from './item.vue';
import TokenedInput from '../shared/tokened_input.vue'; import TokenedInput from '../shared/tokened_input.vue';
...@@ -16,7 +15,7 @@ export default { ...@@ -16,7 +15,7 @@ export default {
components: { components: {
TokenedInput, TokenedInput,
Item, Item,
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
data() { data() {
...@@ -85,7 +84,7 @@ export default { ...@@ -85,7 +84,7 @@ export default {
@input="searchMergeRequests" @input="searchMergeRequests"
@removeToken="setSearchType(null)" @removeToken="setSearchType(null)"
/> />
<icon :size="18" name="search" class="ml-3 input-icon" /> <gl-icon :size="18" name="search" class="ml-3 input-icon" />
</label> </label>
<div class="dropdown-content ide-merge-requests-dropdown-content d-flex"> <div class="dropdown-content ide-merge-requests-dropdown-content d-flex">
<gl-loading-icon <gl-loading-icon
...@@ -103,7 +102,7 @@ export default { ...@@ -103,7 +102,7 @@ export default {
@click.stop="setSearchType(searchType)" @click.stop="setSearchType(searchType)"
> >
<span class="d-flex gl-mr-3 ide-search-list-current-icon"> <span class="d-flex gl-mr-3 ide-search-list-current-icon">
<icon :size="18" name="search" /> <gl-icon :size="18" name="search" />
</span> </span>
<span>{{ searchType.label }}</span> <span>{{ searchType.label }}</span>
</button> </button>
......
<script> <script>
import icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
export default { export default {
components: { components: {
icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -13,7 +13,7 @@ export default { ...@@ -13,7 +13,7 @@ export default {
</script> </script>
<template> <template>
<icon <gl-icon
v-tooltip v-tooltip
:title="__('Part of merge request changes')" :title="__('Part of merge request changes')"
:size="12" :size="12"
......
<script> <script>
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import DropdownButton from '~/vue_shared/components/dropdown/dropdown_button.vue'; import DropdownButton from '~/vue_shared/components/dropdown/dropdown_button.vue';
import Icon from '~/vue_shared/components/icon.vue';
const EMPTY_LABEL = '-'; const EMPTY_LABEL = '-';
export default { export default {
components: { components: {
Icon, GlIcon,
DropdownButton, DropdownButton,
}, },
props: { props: {
...@@ -33,10 +33,10 @@ export default { ...@@ -33,10 +33,10 @@ export default {
<dropdown-button> <dropdown-button>
<span class="row flex-nowrap"> <span class="row flex-nowrap">
<span class="col-auto flex-fill text-truncate"> <span class="col-auto flex-fill text-truncate">
<icon :size="16" :aria-label="__('Current Branch')" name="branch" /> {{ branchLabel }} <gl-icon :size="16" :aria-label="__('Current Branch')" name="branch" /> {{ branchLabel }}
</span> </span>
<span v-if="showMergeRequests" class="col-5 pl-0 text-truncate"> <span v-if="showMergeRequests" class="col-5 pl-0 text-truncate">
<icon :size="16" :aria-label="__('Merge Request')" name="merge-request" /> <gl-icon :size="16" :aria-label="__('Merge Request')" name="merge-request" />
{{ mergeRequestLabel }} {{ mergeRequestLabel }}
</span> </span>
</span> </span>
......
<script> <script>
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
export default { export default {
...@@ -7,7 +7,7 @@ export default { ...@@ -7,7 +7,7 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
label: { label: {
...@@ -52,7 +52,7 @@ export default { ...@@ -52,7 +52,7 @@ export default {
class="btn-blank" class="btn-blank"
@click.stop.prevent="clicked" @click.stop.prevent="clicked"
> >
<icon :name="icon" :class="iconClasses" /> <gl-icon :name="icon" :class="iconClasses" />
<template v-if="showLabel"> <template v-if="showLabel">
{{ label }} {{ label }}
</template> </template>
......
<script> <script>
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import upload from './upload.vue'; import upload from './upload.vue';
import ItemButton from './button.vue'; import ItemButton from './button.vue';
import { modalTypes } from '../../constants'; import { modalTypes } from '../../constants';
...@@ -8,7 +8,7 @@ import NewModal from './modal.vue'; ...@@ -8,7 +8,7 @@ import NewModal from './modal.vue';
export default { export default {
components: { components: {
icon, GlIcon,
upload, upload,
ItemButton, ItemButton,
NewModal, NewModal,
...@@ -67,7 +67,7 @@ export default { ...@@ -67,7 +67,7 @@ export default {
data-qa-selector="dropdown_button" data-qa-selector="dropdown_button"
@click.stop="openDropdown()" @click.stop="openDropdown()"
> >
<icon name="ellipsis_v" /> <icon name="chevron-down" /> <gl-icon name="ellipsis_v" /> <gl-icon name="chevron-down" />
</button> </button>
<ul ref="dropdownMenu" class="dropdown-menu dropdown-menu-right"> <ul ref="dropdownMenu" class="dropdown-menu dropdown-menu-right">
<template v-if="type === 'tree'"> <template v-if="type === 'tree'">
......
<script> <script>
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import Icon from '~/vue_shared/components/icon.vue';
import IdeSidebarNav from '../ide_sidebar_nav.vue'; import IdeSidebarNav from '../ide_sidebar_nav.vue';
export default { export default {
...@@ -10,7 +9,6 @@ export default { ...@@ -10,7 +9,6 @@ export default {
tooltip, tooltip,
}, },
components: { components: {
Icon,
IdeSidebarNav, IdeSidebarNav,
}, },
props: { props: {
......
<script> <script>
import { mapActions, mapGetters, mapState } from 'vuex'; import { mapActions, mapGetters, mapState } from 'vuex';
import { escape } from 'lodash'; import { escape } from 'lodash';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { sprintf, __ } from '../../../locale'; import { sprintf, __ } from '../../../locale';
import Icon from '../../../vue_shared/components/icon.vue';
import CiIcon from '../../../vue_shared/components/ci_icon.vue'; import CiIcon from '../../../vue_shared/components/ci_icon.vue';
import Tabs from '../../../vue_shared/components/tabs/tabs'; import Tabs from '../../../vue_shared/components/tabs/tabs';
import Tab from '../../../vue_shared/components/tabs/tab.vue'; import Tab from '../../../vue_shared/components/tabs/tab.vue';
...@@ -14,7 +13,7 @@ import IDEServices from '~/ide/services'; ...@@ -14,7 +13,7 @@ import IDEServices from '~/ide/services';
export default { export default {
components: { components: {
Icon, GlIcon,
CiIcon, CiIcon,
Tabs, Tabs,
Tab, Tab,
...@@ -70,7 +69,7 @@ export default { ...@@ -70,7 +69,7 @@ export default {
target="_blank" target="_blank"
class="ide-external-link position-relative" class="ide-external-link position-relative"
> >
#{{ latestPipeline.id }} <icon :size="12" name="external-link" /> #{{ latestPipeline.id }} <gl-icon :size="12" name="external-link" />
</a> </a>
</span> </span>
</header> </header>
......
<script> <script>
import { listen } from 'codesandbox-api'; import { listen } from 'codesandbox-api';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
props: { props: {
...@@ -97,7 +96,7 @@ export default { ...@@ -97,7 +96,7 @@ export default {
class="ide-navigator-btn d-flex align-items-center d-transparent border-0 bg-transparent" class="ide-navigator-btn d-flex align-items-center d-transparent border-0 bg-transparent"
@click="back" @click="back"
> >
<icon :size="24" name="chevron-left" class="m-auto" /> <gl-icon :size="24" name="chevron-left" class="m-auto" />
</button> </button>
<button <button
:aria-label="s__('IDE|Back')" :aria-label="s__('IDE|Back')"
...@@ -109,7 +108,7 @@ export default { ...@@ -109,7 +108,7 @@ export default {
class="ide-navigator-btn d-flex align-items-center d-transparent border-0 bg-transparent" class="ide-navigator-btn d-flex align-items-center d-transparent border-0 bg-transparent"
@click="forward" @click="forward"
> >
<icon :size="24" name="chevron-right" class="m-auto" /> <gl-icon :size="24" name="chevron-right" class="m-auto" />
</button> </button>
<button <button
:aria-label="s__('IDE|Refresh preview')" :aria-label="s__('IDE|Refresh preview')"
...@@ -117,7 +116,7 @@ export default { ...@@ -117,7 +116,7 @@ export default {
class="ide-navigator-btn d-flex align-items-center d-transparent border-0 bg-transparent" class="ide-navigator-btn d-flex align-items-center d-transparent border-0 bg-transparent"
@click="refresh" @click="refresh"
> >
<icon :size="18" name="retry" class="m-auto" /> <gl-icon :size="18" name="retry" class="m-auto" />
</button> </button>
<div class="position-relative w-100 gl-ml-2"> <div class="position-relative w-100 gl-ml-2">
<input <input
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import icon from '~/vue_shared/components/icon.vue';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import '~/lib/utils/datetime_utility'; import '~/lib/utils/datetime_utility';
export default { export default {
components: { components: {
icon, GlIcon,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -29,6 +29,6 @@ export default { ...@@ -29,6 +29,6 @@ export default {
<template> <template>
<span v-if="file.file_lock" v-tooltip :title="lockTooltip" data-container="body"> <span v-if="file.file_lock" v-tooltip :title="lockTooltip" data-container="body">
<icon name="lock" class="file-status-icon" /> <gl-icon name="lock" class="file-status-icon" />
</span> </span>
</template> </template>
<script> <script>
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import FileIcon from '~/vue_shared/components/file_icon.vue'; import FileIcon from '~/vue_shared/components/file_icon.vue';
import Icon from '~/vue_shared/components/icon.vue';
import ChangedFileIcon from '~/vue_shared/components/changed_file_icon.vue'; import ChangedFileIcon from '~/vue_shared/components/changed_file_icon.vue';
import FileStatusIcon from './repo_file_status_icon.vue'; import FileStatusIcon from './repo_file_status_icon.vue';
...@@ -11,7 +11,7 @@ export default { ...@@ -11,7 +11,7 @@ export default {
components: { components: {
FileStatusIcon, FileStatusIcon,
FileIcon, FileIcon,
Icon, GlIcon,
ChangedFileIcon, ChangedFileIcon,
}, },
props: { props: {
...@@ -91,7 +91,7 @@ export default { ...@@ -91,7 +91,7 @@ export default {
class="multi-file-tab-close" class="multi-file-tab-close"
@click.stop.prevent="closeFile(tab)" @click.stop.prevent="closeFile(tab)"
> >
<icon v-if="!showChangedIcon" :size="12" name="close" /> <gl-icon v-if="!showChangedIcon" :size="12" name="close" />
<changed-file-icon v-else :file="tab" /> <changed-file-icon v-else :file="tab" />
</button> </button>
</li> </li>
......
<script> <script>
import { GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
placeholder: { placeholder: {
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
> >
<div class="value-container rounded"> <div class="value-container rounded">
<div class="value">{{ token.label }}</div> <div class="value">{{ token.label }}</div>
<div class="remove-token inverted"><icon :size="10" name="close" /></div> <div class="remove-token inverted"><gl-icon :size="10" name="close" /></div>
</div> </div>
</button> </button>
</div> </div>
......
<script> <script>
import { throttle } from 'lodash'; import { throttle } from 'lodash';
import { GlTooltipDirective, GlLoadingIcon } from '@gitlab/ui'; import { GlTooltipDirective, GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import Icon from '~/vue_shared/components/icon.vue';
import { import {
MSG_TERMINAL_SYNC_CONNECTING, MSG_TERMINAL_SYNC_CONNECTING,
MSG_TERMINAL_SYNC_UPLOADING, MSG_TERMINAL_SYNC_UPLOADING,
...@@ -11,7 +10,7 @@ import { ...@@ -11,7 +10,7 @@ import {
export default { export default {
components: { components: {
Icon, GlIcon,
GlLoadingIcon, GlLoadingIcon,
}, },
directives: { directives: {
...@@ -70,7 +69,7 @@ export default { ...@@ -70,7 +69,7 @@ export default {
<span>{{ __('Terminal') }}:</span> <span>{{ __('Terminal') }}:</span>
<span class="square s16 d-flex-center ml-1" :aria-label="status.text"> <span class="square s16 d-flex-center ml-1" :aria-label="status.text">
<gl-loading-icon v-if="isLoading" inline size="sm" class="d-flex-center" /> <gl-loading-icon v-if="isLoading" inline size="sm" class="d-flex-center" />
<icon v-else-if="status.icon" :name="status.icon" :size="16" /> <gl-icon v-else-if="status.icon" :name="status.icon" :size="16" />
</span> </span>
</div> </div>
</template> </template>
<script> <script>
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import Suggestion from './item.vue'; import Suggestion from './item.vue';
import query from '../queries/issues.query.graphql'; import query from '../queries/issues.query.graphql';
export default { export default {
components: { components: {
Suggestion, Suggestion,
Icon, GlIcon,
}, },
directives: { directives: {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
...@@ -70,7 +69,7 @@ export default { ...@@ -70,7 +69,7 @@ export default {
<div v-show="showSuggestions" class="form-group row issuable-suggestions"> <div v-show="showSuggestions" class="form-group row issuable-suggestions">
<div v-once class="col-form-label col-sm-2 pt-0"> <div v-once class="col-form-label col-sm-2 pt-0">
{{ __('Similar issues') }} {{ __('Similar issues') }}
<icon <gl-icon
v-gl-tooltip.bottom v-gl-tooltip.bottom
:title="$options.helpText" :title="$options.helpText"
:aria-label="$options.helpText" :aria-label="$options.helpText"
......
<script> <script>
/* eslint-disable @gitlab/vue-require-i18n-strings */ /* eslint-disable @gitlab/vue-require-i18n-strings */
import { uniqueId } from 'lodash'; import { uniqueId } from 'lodash';
import { GlLink, GlTooltip, GlTooltipDirective } from '@gitlab/ui'; import { GlLink, GlTooltip, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue'; import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue';
import TimeagoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import TimeagoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import timeago from '~/vue_shared/mixins/timeago'; import timeago from '~/vue_shared/mixins/timeago';
...@@ -12,7 +11,7 @@ export default { ...@@ -12,7 +11,7 @@ export default {
components: { components: {
GlTooltip, GlTooltip,
GlLink, GlLink,
Icon, GlIcon,
UserAvatarImage, UserAvatarImage,
TimeagoTooltip, TimeagoTooltip,
}, },
...@@ -68,7 +67,7 @@ export default { ...@@ -68,7 +67,7 @@ export default {
<template> <template>
<div class="suggestion-item"> <div class="suggestion-item">
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<icon <gl-icon
v-if="suggestion.confidential" v-if="suggestion.confidential"
v-gl-tooltip.bottom v-gl-tooltip.bottom
:title="__('Confidential')" :title="__('Confidential')"
...@@ -84,7 +83,7 @@ export default { ...@@ -84,7 +83,7 @@ export default {
</gl-link> </gl-link>
</div> </div>
<div class="text-secondary suggestion-footer"> <div class="text-secondary suggestion-footer">
<icon <gl-icon
ref="state" ref="state"
:name="stateIcon" :name="stateIcon"
:class="{ :class="{
...@@ -134,7 +133,7 @@ export default { ...@@ -134,7 +133,7 @@ export default {
:title="tooltipTitle" :title="tooltipTitle"
class="suggestion-help-hover gl-ml-3 text-tertiary" class="suggestion-help-hover gl-ml-3 text-tertiary"
> >
<icon :name="icon" /> {{ count }} <gl-icon :name="icon" /> {{ count }}
</span> </span>
</span> </span>
</div> </div>
......
<script> <script>
import { throttle, isEmpty } from 'lodash'; import { throttle, isEmpty } from 'lodash';
import { mapGetters, mapState, mapActions } from 'vuex'; import { mapGetters, mapState, mapActions } from 'vuex';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon, GlIcon } from '@gitlab/ui';
import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils'; import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils';
import { isScrolledToBottom } from '~/lib/utils/scroll_utils'; import { isScrolledToBottom } from '~/lib/utils/scroll_utils';
import { polyfillSticky } from '~/lib/utils/sticky'; import { polyfillSticky } from '~/lib/utils/sticky';
import CiHeader from '~/vue_shared/components/header_ci_component.vue'; import CiHeader from '~/vue_shared/components/header_ci_component.vue';
import Callout from '~/vue_shared/components/callout.vue'; import Callout from '~/vue_shared/components/callout.vue';
import Icon from '~/vue_shared/components/icon.vue';
import EmptyState from './empty_state.vue'; import EmptyState from './empty_state.vue';
import EnvironmentsBlock from './environments_block.vue'; import EnvironmentsBlock from './environments_block.vue';
import ErasedBlock from './erased_block.vue'; import ErasedBlock from './erased_block.vue';
...@@ -27,7 +26,7 @@ export default { ...@@ -27,7 +26,7 @@ export default {
EmptyState, EmptyState,
EnvironmentsBlock, EnvironmentsBlock,
ErasedBlock, ErasedBlock,
Icon, GlIcon,
Log, Log,
LogTopBar, LogTopBar,
StuckBlock, StuckBlock,
...@@ -266,7 +265,7 @@ export default { ...@@ -266,7 +265,7 @@ export default {
:class="{ 'sticky-top border-bottom-0': hasTrace }" :class="{ 'sticky-top border-bottom-0': hasTrace }"
data-testid="archived-job" data-testid="archived-job"
> >
<icon name="lock" class="align-text-bottom" /> <gl-icon name="lock" class="align-text-bottom" />
{{ __('This job is archived. Only the complete pipeline can be retried.') }} {{ __('This job is archived. Only the complete pipeline can be retried.') }}
</div> </div>
<!-- job log --> <!-- job log -->
......
<script> <script>
import { GlLink } from '@gitlab/ui'; import { GlLink, GlIcon } from '@gitlab/ui';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import CiIcon from '~/vue_shared/components/ci_icon.vue'; import CiIcon from '~/vue_shared/components/ci_icon.vue';
import Icon from '~/vue_shared/components/icon.vue';
import delayedJobMixin from '~/jobs/mixins/delayed_job_mixin'; import delayedJobMixin from '~/jobs/mixins/delayed_job_mixin';
import { sprintf } from '~/locale'; import { sprintf } from '~/locale';
export default { export default {
components: { components: {
CiIcon, CiIcon,
Icon, GlIcon,
GlLink, GlLink,
}, },
directives: { directives: {
...@@ -56,7 +55,7 @@ export default { ...@@ -56,7 +55,7 @@ export default {
data-boundary="viewport" data-boundary="viewport"
class="js-job-link d-flex" class="js-job-link d-flex"
> >
<icon <gl-icon
v-if="isActive" v-if="isActive"
name="arrow-right" name="arrow-right"
class="js-arrow-right icon-arrow-right position-absolute d-block" class="js-arrow-right icon-arrow-right position-absolute d-block"
...@@ -66,7 +65,7 @@ export default { ...@@ -66,7 +65,7 @@ export default {
<span class="text-truncate w-100">{{ job.name ? job.name : job.id }}</span> <span class="text-truncate w-100">{{ job.name ? job.name : job.id }}</span>
<icon v-if="job.retried" name="retry" class="js-retry-icon" /> <gl-icon v-if="job.retried" name="retry" class="js-retry-icon" />
</gl-link> </gl-link>
</div> </div>
</template> </template>
<script> <script>
import { GlTooltipDirective, GlLink, GlDeprecatedButton } from '@gitlab/ui'; import { GlTooltipDirective, GlLink, GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import { polyfillSticky } from '~/lib/utils/sticky'; import { polyfillSticky } from '~/lib/utils/sticky';
import Icon from '~/vue_shared/components/icon.vue';
import { numberToHumanSize } from '~/lib/utils/number_utils'; import { numberToHumanSize } from '~/lib/utils/number_utils';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import scrollDown from '../svg/scroll_down.svg'; import scrollDown from '../svg/scroll_down.svg';
export default { export default {
components: { components: {
Icon, GlIcon,
GlLink, GlLink,
GlDeprecatedButton, GlDeprecatedButton,
}, },
...@@ -95,7 +94,7 @@ export default { ...@@ -95,7 +94,7 @@ export default {
class="controllers-buttons" class="controllers-buttons"
data-testid="job-raw-link-controller" data-testid="job-raw-link-controller"
> >
<icon name="doc-text" /> <gl-icon name="doc-text" />
</gl-link> </gl-link>
<gl-link <gl-link
...@@ -108,7 +107,7 @@ export default { ...@@ -108,7 +107,7 @@ export default {
data-testid="job-log-erase-link" data-testid="job-log-erase-link"
data-method="post" data-method="post"
> >
<icon name="remove" /> <gl-icon name="remove" />
</gl-link> </gl-link>
<!-- eo links --> <!-- eo links -->
...@@ -121,7 +120,7 @@ export default { ...@@ -121,7 +120,7 @@ export default {
data-testid="job-controller-scroll-top" data-testid="job-controller-scroll-top"
@click="handleScrollToTop" @click="handleScrollToTop"
> >
<icon name="scroll_up" /> <gl-icon name="scroll_up" />
</gl-deprecated-button> </gl-deprecated-button>
</div> </div>
......
<script> <script>
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import LineNumber from './line_number.vue'; import LineNumber from './line_number.vue';
import DurationBadge from './duration_badge.vue'; import DurationBadge from './duration_badge.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
LineNumber, LineNumber,
DurationBadge, DurationBadge,
}, },
...@@ -47,7 +47,7 @@ export default { ...@@ -47,7 +47,7 @@ export default {
role="button" role="button"
@click="handleOnClick" @click="handleOnClick"
> >
<icon :name="iconName" class="arrow position-absolute" /> <gl-icon :name="iconName" class="arrow position-absolute" />
<line-number :line-number="line.lineNumber" :path="path" /> <line-number :line-number="line.lineNumber" :path="path" />
<span <span
v-for="(content, i) in line.content" v-for="(content, i) in line.content"
......
<script> <script>
import { uniqueId } from 'lodash'; import { uniqueId } from 'lodash';
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import { GlDeprecatedButton } from '@gitlab/ui'; import { GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import { s__, sprintf } from '~/locale'; import { s__, sprintf } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
name: 'ManualVariablesForm', name: 'ManualVariablesForm',
components: { components: {
GlDeprecatedButton, GlDeprecatedButton,
Icon, GlIcon,
}, },
props: { props: {
action: { action: {
...@@ -141,7 +140,7 @@ export default { ...@@ -141,7 +140,7 @@ export default {
class="btn-transparent btn-blank w-25" class="btn-transparent btn-blank w-25"
@click="deleteVariable(variable.id)" @click="deleteVariable(variable.id)"
> >
<icon name="clear" /> <gl-icon name="clear" />
</gl-deprecated-button> </gl-deprecated-button>
</div> </div>
</div> </div>
......
<script> <script>
import { isEmpty } from 'lodash'; import { isEmpty } from 'lodash';
import { mapActions, mapState } from 'vuex'; import { mapActions, mapState } from 'vuex';
import { GlLink, GlDeprecatedButton } from '@gitlab/ui'; import { GlLink, GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import timeagoMixin from '~/vue_shared/mixins/timeago'; import timeagoMixin from '~/vue_shared/mixins/timeago';
import { timeIntervalInWords } from '~/lib/utils/datetime_utility'; import { timeIntervalInWords } from '~/lib/utils/datetime_utility';
import Icon from '~/vue_shared/components/icon.vue';
import DetailRow from './sidebar_detail_row.vue'; import DetailRow from './sidebar_detail_row.vue';
import ArtifactsBlock from './artifacts_block.vue'; import ArtifactsBlock from './artifacts_block.vue';
import TriggerBlock from './trigger_block.vue'; import TriggerBlock from './trigger_block.vue';
...@@ -19,7 +18,7 @@ export default { ...@@ -19,7 +18,7 @@ export default {
ArtifactsBlock, ArtifactsBlock,
CommitBlock, CommitBlock,
DetailRow, DetailRow,
Icon, GlIcon,
TriggerBlock, TriggerBlock,
StagesDropdown, StagesDropdown,
JobsContainer, JobsContainer,
...@@ -157,7 +156,7 @@ export default { ...@@ -157,7 +156,7 @@ export default {
class="js-terminal-link btn btn-primary btn-inverted visible-md-block visible-lg-block float-left" class="js-terminal-link btn btn-primary btn-inverted visible-md-block visible-lg-block float-left"
target="_blank" target="_blank"
> >
{{ __('Debug') }} <icon name="external-link" :size="14" /> {{ __('Debug') }} <gl-icon name="external-link" :size="14" />
</gl-link> </gl-link>
</div> </div>
......
...@@ -11,12 +11,12 @@ import { ...@@ -11,12 +11,12 @@ import {
GlNewDropdownItem as GlDropdownItem, GlNewDropdownItem as GlDropdownItem,
GlModal, GlModal,
GlTooltipDirective, GlTooltipDirective,
GlIcon,
} from '@gitlab/ui'; } from '@gitlab/ui';
import { __, s__ } from '~/locale'; import { __, s__ } from '~/locale';
import Translate from '~/vue_shared/translate'; import Translate from '~/vue_shared/translate';
import TrackEventDirective from '~/vue_shared/directives/track_event'; import TrackEventDirective from '~/vue_shared/directives/track_event';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import Icon from '~/vue_shared/components/icon.vue';
import { alertsValidator, queriesValidator } from '../validators'; import { alertsValidator, queriesValidator } from '../validators';
import { OPERATORS } from '../constants'; import { OPERATORS } from '../constants';
...@@ -44,7 +44,7 @@ export default { ...@@ -44,7 +44,7 @@ export default {
GlDropdownItem, GlDropdownItem,
GlModal, GlModal,
GlLink, GlLink,
Icon, GlIcon,
}, },
directives: { directives: {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
...@@ -242,7 +242,7 @@ export default { ...@@ -242,7 +242,7 @@ export default {
<template #description> <template #description>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
{{ __('Single or combined queries') }} {{ __('Single or combined queries') }}
<icon <gl-icon
v-gl-tooltip="$options.alertQueryText.descriptionTooltip" v-gl-tooltip="$options.alertQueryText.descriptionTooltip"
name="question" name="question"
class="gl-ml-2" class="gl-ml-2"
......
<script> <script>
import { isEmpty, omit, throttle } from 'lodash'; import { isEmpty, omit, throttle } from 'lodash';
import { GlLink, GlTooltip, GlResizeObserverDirective } from '@gitlab/ui'; import { GlLink, GlTooltip, GlResizeObserverDirective, GlIcon } from '@gitlab/ui';
import { GlAreaChart, GlLineChart, GlChartSeriesLabel } from '@gitlab/ui/dist/charts'; import { GlAreaChart, GlLineChart, GlChartSeriesLabel } from '@gitlab/ui/dist/charts';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
import { getSvgIconPathContent } from '~/lib/utils/icon_utils'; import { getSvgIconPathContent } from '~/lib/utils/icon_utils';
import Icon from '~/vue_shared/components/icon.vue';
import { panelTypes, chartHeight, lineTypes, lineWidths, legendLayoutTypes } from '../../constants'; import { panelTypes, chartHeight, lineTypes, lineWidths, legendLayoutTypes } from '../../constants';
import { getYAxisOptions, getTimeAxisOptions, getChartGrid, getTooltipFormatter } from './options'; import { getYAxisOptions, getTimeAxisOptions, getChartGrid, getTooltipFormatter } from './options';
import { annotationsYAxis, generateAnnotationsSeries } from './annotations'; import { annotationsYAxis, generateAnnotationsSeries } from './annotations';
...@@ -27,7 +26,7 @@ export default { ...@@ -27,7 +26,7 @@ export default {
GlTooltip, GlTooltip,
GlChartSeriesLabel, GlChartSeriesLabel,
GlLink, GlLink,
Icon, GlIcon,
}, },
directives: { directives: {
GlResizeObserverDirective, GlResizeObserverDirective,
...@@ -407,7 +406,7 @@ export default { ...@@ -407,7 +406,7 @@ export default {
{{ __('Deployed') }} {{ __('Deployed') }}
</template> </template>
<div slot="tooltipContent" class="d-flex align-items-center"> <div slot="tooltipContent" class="d-flex align-items-center">
<icon name="commit" class="mr-2" /> <gl-icon name="commit" class="mr-2" />
<gl-link :href="tooltip.commitUrl">{{ tooltip.sha }}</gl-link> <gl-link :href="tooltip.commitUrl">{{ tooltip.sha }}</gl-link>
</div> </div>
</template> </template>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import { mapActions, mapState, mapGetters } from 'vuex'; import { mapActions, mapState, mapGetters } from 'vuex';
import VueDraggable from 'vuedraggable'; import VueDraggable from 'vuedraggable';
import Mousetrap from 'mousetrap'; import Mousetrap from 'mousetrap';
import { GlButton, GlModalDirective, GlTooltipDirective } from '@gitlab/ui'; import { GlButton, GlModalDirective, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import DashboardHeader from './dashboard_header.vue'; import DashboardHeader from './dashboard_header.vue';
import DashboardPanel from './dashboard_panel.vue'; import DashboardPanel from './dashboard_panel.vue';
import { s__ } from '~/locale'; import { s__ } from '~/locale';
...@@ -10,7 +10,6 @@ import { deprecatedCreateFlash as createFlash } from '~/flash'; ...@@ -10,7 +10,6 @@ import { deprecatedCreateFlash as createFlash } from '~/flash';
import { ESC_KEY } from '~/lib/utils/keys'; import { ESC_KEY } from '~/lib/utils/keys';
import { mergeUrlParams, updateHistory } from '~/lib/utils/url_utility'; import { mergeUrlParams, updateHistory } from '~/lib/utils/url_utility';
import invalidUrl from '~/lib/utils/invalid_url'; import invalidUrl from '~/lib/utils/invalid_url';
import Icon from '~/vue_shared/components/icon.vue';
import GraphGroup from './graph_group.vue'; import GraphGroup from './graph_group.vue';
import EmptyState from './empty_state.vue'; import EmptyState from './empty_state.vue';
...@@ -33,7 +32,7 @@ export default { ...@@ -33,7 +32,7 @@ export default {
VueDraggable, VueDraggable,
DashboardHeader, DashboardHeader,
DashboardPanel, DashboardPanel,
Icon, GlIcon,
GlButton, GlButton,
GraphGroup, GraphGroup,
EmptyState, EmptyState,
...@@ -473,7 +472,7 @@ export default { ...@@ -473,7 +472,7 @@ export default {
@click="removePanel(groupData.key, groupData.panels, graphIndex)" @click="removePanel(groupData.key, groupData.panels, graphIndex)"
> >
<a class="mx-2 p-2 draggable-remove-link" :aria-label="__('Remove')"> <a class="mx-2 p-2 draggable-remove-link" :aria-label="__('Remove')">
<icon name="close" /> <gl-icon name="close" />
</a> </a>
</div> </div>
......
...@@ -10,10 +10,10 @@ import { ...@@ -10,10 +10,10 @@ import {
GlSearchBoxByType, GlSearchBoxByType,
GlModalDirective, GlModalDirective,
GlTooltipDirective, GlTooltipDirective,
GlIcon,
} from '@gitlab/ui'; } from '@gitlab/ui';
import { mergeUrlParams, redirectTo } from '~/lib/utils/url_utility'; import { mergeUrlParams, redirectTo } from '~/lib/utils/url_utility';
import invalidUrl from '~/lib/utils/invalid_url'; import invalidUrl from '~/lib/utils/invalid_url';
import Icon from '~/vue_shared/components/icon.vue';
import DateTimePicker from '~/vue_shared/components/date_time_picker/date_time_picker.vue'; import DateTimePicker from '~/vue_shared/components/date_time_picker/date_time_picker.vue';
import DashboardsDropdown from './dashboards_dropdown.vue'; import DashboardsDropdown from './dashboards_dropdown.vue';
...@@ -26,7 +26,7 @@ import { timezones } from '../format_date'; ...@@ -26,7 +26,7 @@ import { timezones } from '../format_date';
export default { export default {
components: { components: {
Icon, GlIcon,
GlButton, GlButton,
GlNewDropdown, GlNewDropdown,
GlLoadingIcon, GlLoadingIcon,
...@@ -260,7 +260,7 @@ export default { ...@@ -260,7 +260,7 @@ export default {
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
{{ __('View full dashboard') }} <icon name="external-link" /> {{ __('View full dashboard') }} <gl-icon name="external-link" />
</gl-button> </gl-button>
</div> </div>
......
<script> <script>
import { mapGetters, mapActions } from 'vuex'; import { mapGetters, mapActions } from 'vuex';
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import discussionNavigation from '../mixins/discussion_navigation'; import discussionNavigation from '../mixins/discussion_navigation';
export default { export default {
...@@ -9,7 +8,7 @@ export default { ...@@ -9,7 +8,7 @@ export default {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
}, },
components: { components: {
Icon, GlIcon,
}, },
mixins: [discussionNavigation], mixins: [discussionNavigation],
computed: { computed: {
...@@ -60,7 +59,7 @@ export default { ...@@ -60,7 +59,7 @@ export default {
:class="{ 'line-resolve-btn is-active': allResolved, 'line-resolve-text': !allResolved }" :class="{ 'line-resolve-btn is-active': allResolved, 'line-resolve-text': !allResolved }"
> >
<template v-if="allResolved"> <template v-if="allResolved">
<icon name="check-circle-filled" /> <gl-icon name="check-circle-filled" />
{{ __('All threads resolved') }} {{ __('All threads resolved') }}
</template> </template>
<template v-else> <template v-else>
...@@ -79,7 +78,7 @@ export default { ...@@ -79,7 +78,7 @@ export default {
:title="s__('Resolve all threads in new issue')" :title="s__('Resolve all threads in new issue')"
class="new-issue-for-discussion btn btn-default discussion-create-issue-btn" class="new-issue-for-discussion btn btn-default discussion-create-issue-btn"
> >
<icon name="issue-new" /> <gl-icon name="issue-new" />
</a> </a>
</div> </div>
<div v-if="isLoggedIn && !allResolved" class="btn-group btn-group-sm" role="group"> <div v-if="isLoggedIn && !allResolved" class="btn-group btn-group-sm" role="group">
...@@ -92,7 +91,7 @@ export default { ...@@ -92,7 +91,7 @@ export default {
data-track-property="click_next_unresolved_thread_top" data-track-property="click_next_unresolved_thread_top"
@click="jumpToNextDiscussion" @click="jumpToNextDiscussion"
> >
<icon name="comment-next" /> <gl-icon name="comment-next" />
</button> </button>
</div> </div>
<div class="btn-group btn-group-sm" role="group"> <div class="btn-group btn-group-sm" role="group">
...@@ -102,7 +101,7 @@ export default { ...@@ -102,7 +101,7 @@ export default {
class="btn btn-default toggle-all-discussions-btn" class="btn btn-default toggle-all-discussions-btn"
@click="handleExpandDiscussions" @click="handleExpandDiscussions"
> >
<icon :name="allExpanded ? 'angle-up' : 'angle-down'" /> <gl-icon :name="allExpanded ? 'angle-up' : 'angle-down'" />
</button> </button>
</div> </div>
</div> </div>
......
<script> <script>
import $ from 'jquery'; import $ from 'jquery';
import { mapGetters, mapActions } from 'vuex'; import { mapGetters, mapActions } from 'vuex';
import { GlIcon } from '@gitlab/ui';
import { getLocationHash, doesHashExistInUrl } from '../../lib/utils/url_utility'; import { getLocationHash, doesHashExistInUrl } from '../../lib/utils/url_utility';
import Icon from '~/vue_shared/components/icon.vue';
import { import {
DISCUSSION_FILTERS_DEFAULT_VALUE, DISCUSSION_FILTERS_DEFAULT_VALUE,
HISTORY_ONLY_FILTER_VALUE, HISTORY_ONLY_FILTER_VALUE,
...@@ -14,7 +14,7 @@ import notesEventHub from '../event_hub'; ...@@ -14,7 +14,7 @@ import notesEventHub from '../event_hub';
export default { export default {
components: { components: {
Icon, GlIcon,
}, },
props: { props: {
filters: { filters: {
...@@ -120,7 +120,7 @@ export default { ...@@ -120,7 +120,7 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
aria-expanded="false" aria-expanded="false"
> >
{{ currentFilter.title }} <icon name="chevron-down" /> {{ currentFilter.title }} <gl-icon name="chevron-down" />
</button> </button>
<div <div
ref="dropdownMenu" ref="dropdownMenu"
......
<script> <script>
import { GlButton } from '@gitlab/ui'; import { GlButton, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import notesEventHub from '../event_hub'; import notesEventHub from '../event_hub';
...@@ -8,7 +7,7 @@ import notesEventHub from '../event_hub'; ...@@ -8,7 +7,7 @@ import notesEventHub from '../event_hub';
export default { export default {
components: { components: {
GlButton, GlButton,
Icon, GlIcon,
}, },
computed: { computed: {
timelineContent() { timelineContent() {
...@@ -35,7 +34,7 @@ export default { ...@@ -35,7 +34,7 @@ export default {
<template> <template>
<li class="timeline-entry note note-wrapper discussion-filter-note js-discussion-filter-note"> <li class="timeline-entry note note-wrapper discussion-filter-note js-discussion-filter-note">
<div class="timeline-icon d-none d-lg-flex"> <div class="timeline-icon d-none d-lg-flex">
<icon name="comment" /> <gl-icon name="comment" />
</div> </div>
<div class="timeline-content"> <div class="timeline-content">
<div ref="timelineContent" v-html="timelineContent"></div> <div ref="timelineContent" v-html="timelineContent"></div>
......
<script> <script>
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import icon from '~/vue_shared/components/icon.vue';
import discussionNavigation from '../mixins/discussion_navigation'; import discussionNavigation from '../mixins/discussion_navigation';
export default { export default {
name: 'JumpToNextDiscussionButton', name: 'JumpToNextDiscussionButton',
components: { components: {
icon, GlIcon,
}, },
directives: { directives: {
GlTooltip: GlTooltipDirective, GlTooltip: GlTooltipDirective,
...@@ -33,7 +32,7 @@ export default { ...@@ -33,7 +32,7 @@ export default {
data-track-property="click_next_unresolved_thread" data-track-property="click_next_unresolved_thread"
@click="jumpToNextRelativeDiscussion(fromDiscussionId)" @click="jumpToNextRelativeDiscussion(fromDiscussionId)"
> >
<icon name="comment-next" /> <gl-icon name="comment-next" />
</button> </button>
</div> </div>
</template> </template>
<script> <script>
import { GlLink } from '@gitlab/ui'; import { GlLink, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import Issuable from '~/vue_shared/mixins/issuable'; import Issuable from '~/vue_shared/mixins/issuable';
import issuableStateMixin from '../mixins/issuable_state'; import issuableStateMixin from '../mixins/issuable_state';
export default { export default {
components: { components: {
Icon, GlIcon,
GlLink, GlLink,
}, },
mixins: [Issuable, issuableStateMixin], mixins: [Issuable, issuableStateMixin],
...@@ -28,7 +27,7 @@ export default { ...@@ -28,7 +27,7 @@ export default {
<template> <template>
<div class="disabled-comment text-center"> <div class="disabled-comment text-center">
<span class="issuable-note-warning inline"> <span class="issuable-note-warning inline">
<icon :size="16" name="lock" class="icon" /> <gl-icon :size="16" name="lock" class="icon" />
<span v-if="isProjectArchived"> <span v-if="isProjectArchived">
{{ projectArchivedWarning }} {{ projectArchivedWarning }}
<gl-link :href="archivedProjectDocsPath" target="_blank" class="learn-more"> <gl-link :href="archivedProjectDocsPath" target="_blank" class="learn-more">
......
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui'; import { GlLoadingIcon, GlTooltipDirective, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import resolvedStatusMixin from '~/batch_comments/mixins/resolved_status'; import resolvedStatusMixin from '~/batch_comments/mixins/resolved_status';
import Icon from '~/vue_shared/components/icon.vue';
import ReplyButton from './note_actions/reply_button.vue'; import ReplyButton from './note_actions/reply_button.vue';
import eventHub from '~/sidebar/event_hub'; import eventHub from '~/sidebar/event_hub';
import Api from '~/api'; import Api from '~/api';
...@@ -12,7 +11,7 @@ import { deprecatedCreateFlash as flash } from '~/flash'; ...@@ -12,7 +11,7 @@ import { deprecatedCreateFlash as flash } from '~/flash';
export default { export default {
name: 'NoteActions', name: 'NoteActions',
components: { components: {
Icon, GlIcon,
ReplyButton, ReplyButton,
GlLoadingIcon, GlLoadingIcon,
}, },
...@@ -189,7 +188,7 @@ export default { ...@@ -189,7 +188,7 @@ export default {
@click="onResolve" @click="onResolve"
> >
<template v-if="!isResolving"> <template v-if="!isResolving">
<icon :name="isResolved ? 'check-circle-filled' : 'check-circle'" /> <gl-icon :name="isResolved ? 'check-circle-filled' : 'check-circle'" />
</template> </template>
<gl-loading-icon v-else inline /> <gl-loading-icon v-else inline />
</button> </button>
...@@ -203,9 +202,9 @@ export default { ...@@ -203,9 +202,9 @@ export default {
title="Add reaction" title="Add reaction"
data-position="right" data-position="right"
> >
<icon class="link-highlight award-control-icon-neutral" name="slight-smile" /> <gl-icon class="link-highlight award-control-icon-neutral" name="slight-smile" />
<icon class="link-highlight award-control-icon-positive" name="smiley" /> <gl-icon class="link-highlight award-control-icon-positive" name="smiley" />
<icon class="link-highlight award-control-icon-super-positive" name="smiley" /> <gl-icon class="link-highlight award-control-icon-super-positive" name="smiley" />
</a> </a>
</div> </div>
<reply-button <reply-button
...@@ -222,7 +221,7 @@ export default { ...@@ -222,7 +221,7 @@ export default {
class="note-action-button js-note-edit btn btn-transparent qa-note-edit-button" class="note-action-button js-note-edit btn btn-transparent qa-note-edit-button"
@click="onEdit" @click="onEdit"
> >
<icon name="pencil" class="link-highlight" /> <gl-icon name="pencil" class="link-highlight" />
</button> </button>
</div> </div>
<div v-if="showDeleteAction" class="note-actions-item"> <div v-if="showDeleteAction" class="note-actions-item">
...@@ -233,7 +232,7 @@ export default { ...@@ -233,7 +232,7 @@ export default {
class="note-action-button js-note-delete btn btn-transparent" class="note-action-button js-note-delete btn btn-transparent"
@click="onDelete" @click="onDelete"
> >
<icon name="remove" class="link-highlight" /> <gl-icon name="remove" class="link-highlight" />
</button> </button>
</div> </div>
<div v-else-if="shouldShowActionsDropdown" class="dropdown more-actions note-actions-item"> <div v-else-if="shouldShowActionsDropdown" class="dropdown more-actions note-actions-item">
...@@ -245,7 +244,7 @@ export default { ...@@ -245,7 +244,7 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
@click="closeTooltip" @click="closeTooltip"
> >
<icon class="icon" name="ellipsis_v" /> <gl-icon class="icon" name="ellipsis_v" />
</button> </button>
<ul class="dropdown-menu more-actions-dropdown dropdown-open-left"> <ul class="dropdown-menu more-actions-dropdown dropdown-open-left">
<li v-if="canReportAsAbuse"> <li v-if="canReportAsAbuse">
......
<script> <script>
import { GlTooltipDirective, GlDeprecatedButton } from '@gitlab/ui'; import { GlTooltipDirective, GlDeprecatedButton, GlIcon } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
name: 'ReplyButton', name: 'ReplyButton',
components: { components: {
Icon, GlIcon,
GlDeprecatedButton, GlDeprecatedButton,
}, },
directives: { directives: {
...@@ -26,7 +25,7 @@ export default { ...@@ -26,7 +25,7 @@ export default {
:title="__('Reply to comment')" :title="__('Reply to comment')"
@click="$emit('startReplying')" @click="$emit('startReplying')"
> >
<icon name="comment" class="link-highlight" /> <gl-icon name="comment" class="link-highlight" />
</gl-deprecated-button> </gl-deprecated-button>
</div> </div>
</template> </template>
<script> <script>
import { mapActions, mapGetters } from 'vuex'; import { mapActions, mapGetters } from 'vuex';
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
import diffLineNoteFormMixin from '~/notes/mixins/diff_line_note_form'; import diffLineNoteFormMixin from '~/notes/mixins/diff_line_note_form';
import { s__, __ } from '~/locale'; import { s__, __ } from '~/locale';
import { clearDraft, getDiscussionReplyKey } from '~/lib/utils/autosave'; import { clearDraft, getDiscussionReplyKey } from '~/lib/utils/autosave';
import icon from '~/vue_shared/components/icon.vue';
import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue'; import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue';
import DraftNote from '~/batch_comments/components/draft_note.vue'; import DraftNote from '~/batch_comments/components/draft_note.vue';
import { deprecatedCreateFlash as Flash } from '../../flash'; import { deprecatedCreateFlash as Flash } from '../../flash';
...@@ -22,7 +21,7 @@ import DiscussionActions from './discussion_actions.vue'; ...@@ -22,7 +21,7 @@ import DiscussionActions from './discussion_actions.vue';
export default { export default {
name: 'NoteableDiscussion', name: 'NoteableDiscussion',
components: { components: {
icon, GlIcon,
userAvatarLink, userAvatarLink,
diffDiscussionHeader, diffDiscussionHeader,
noteSignedOutWidget, noteSignedOutWidget,
......
<script> <script>
import { uniqBy } from 'lodash'; import { uniqBy } from 'lodash';
import Icon from '~/vue_shared/components/icon.vue'; import { GlIcon } from '@gitlab/ui';
import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue'; import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
export default { export default {
components: { components: {
Icon, GlIcon,
UserAvatarLink, UserAvatarLink,
TimeAgoTooltip, TimeAgoTooltip,
}, },
...@@ -44,7 +44,7 @@ export default { ...@@ -44,7 +44,7 @@ export default {
<template> <template>
<li :class="className" class="replies-toggle js-toggle-replies"> <li :class="className" class="replies-toggle js-toggle-replies">
<template v-if="collapsed"> <template v-if="collapsed">
<icon name="chevron-right" @click.native="toggle" /> <gl-icon name="chevron-right" @click.native="toggle" />
<div> <div>
<user-avatar-link <user-avatar-link
v-for="author in uniqueAuthors" v-for="author in uniqueAuthors"
...@@ -71,7 +71,7 @@ export default { ...@@ -71,7 +71,7 @@ export default {
class="collapse-replies-btn js-collapse-replies qa-collapse-replies" class="collapse-replies-btn js-collapse-replies qa-collapse-replies"
@click="toggle" @click="toggle"
> >
<icon name="chevron-down" /> {{ s__('Notes|Collapse replies') }} <gl-icon name="chevron-down" /> {{ s__('Notes|Collapse replies') }}
</span> </span>
</li> </li>
</template> </template>
<script> <script>
import { GlIcon } from '@gitlab/ui';
import RequestWarning from './request_warning.vue'; import RequestWarning from './request_warning.vue';
import DeprecatedModal2 from '~/vue_shared/components/deprecated_modal_2.vue'; import DeprecatedModal2 from '~/vue_shared/components/deprecated_modal_2.vue';
import Icon from '~/vue_shared/components/icon.vue';
export default { export default {
components: { components: {
RequestWarning, RequestWarning,
GlModal: DeprecatedModal2, GlModal: DeprecatedModal2,
Icon, GlIcon,
}, },
props: { props: {
currentRequest: { currentRequest: {
...@@ -104,7 +104,7 @@ export default { ...@@ -104,7 +104,7 @@ export default {
type="button" type="button"
:aria-label="__('Toggle backtrace')" :aria-label="__('Toggle backtrace')"
> >
<icon :size="12" name="ellipsis_h" /> <gl-icon :size="12" name="ellipsis_h" />
</button> </button>
</div> </div>
<pre v-if="item.backtrace" class="backtrace-row js-toggle-content mt-2">{{ <pre v-if="item.backtrace" class="backtrace-row js-toggle-content mt-2">{{
......
<script> <script>
import { GlTooltipDirective, GlButton, GlLoadingIcon } from '@gitlab/ui'; import { GlTooltipDirective, GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import { dasherize } from '~/lib/utils/text_utility'; import { dasherize } from '~/lib/utils/text_utility';
import { __ } from '~/locale'; import { __ } from '~/locale';
import { deprecatedCreateFlash as createFlash } from '~/flash'; import { deprecatedCreateFlash as createFlash } from '~/flash';
import Icon from '~/vue_shared/components/icon.vue';
/** /**
* Renders either a cancel, retry or play icon button and handles the post request * Renders either a cancel, retry or play icon button and handles the post request
...@@ -18,7 +17,7 @@ import Icon from '~/vue_shared/components/icon.vue'; ...@@ -18,7 +17,7 @@ import Icon from '~/vue_shared/components/icon.vue';
*/ */
export default { export default {
components: { components: {
Icon, GlIcon,
GlButton, GlButton,
GlLoadingIcon, GlLoadingIcon,
}, },
...@@ -92,6 +91,6 @@ export default { ...@@ -92,6 +91,6 @@ export default {
@click="onClickAction" @click="onClickAction"
> >
<gl-loading-icon v-if="isLoading" class="js-action-icon-loading" /> <gl-loading-icon v-if="isLoading" class="js-action-icon-loading" />
<icon v-else :name="actionIcon" class="gl-mr-0!" /> <gl-icon v-else :name="actionIcon" class="gl-mr-0!" />
</gl-button> </gl-button>
</template> </template>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment