chore: Update self-closing tag eslint config (#4826)

* chore: Fix self-closing tag issues

* Fix merge conflicts

Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com>
This commit is contained in:
Pranav Raj S 2022-06-10 19:29:52 +05:30 committed by GitHub
parent 3f3ee6c34a
commit 7bb8186e43
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
86 changed files with 151 additions and 186 deletions

View file

@ -19,18 +19,32 @@ module.exports = {
'jsx-a11y/label-has-for': 'off', 'jsx-a11y/label-has-for': 'off',
'jsx-a11y/anchor-is-valid': 'off', 'jsx-a11y/anchor-is-valid': 'off',
'import/no-unresolved': 'off', 'import/no-unresolved': 'off',
'vue/max-attributes-per-line': ['error', { 'vue/max-attributes-per-line': [
'singleline': 20, 'error',
'multiline': { {
'max': 1, singleline: 20,
'allowFirstLine': false multiline: {
max: 1,
allowFirstLine: false,
}, },
}], },
'vue/html-self-closing': 'off', ],
"vue/no-v-html": 'off', 'vue/html-self-closing': [
'error',
{
html: {
void: 'always',
normal: 'always',
component: 'always',
},
svg: 'always',
math: 'always',
},
],
'vue/no-v-html': 'off',
'vue/singleline-html-element-content-newline': 'off', 'vue/singleline-html-element-content-newline': 'off',
'import/extensions': ['off'], 'import/extensions': ['off'],
'no-console': 'error' 'no-console': 'error',
}, },
settings: { settings: {
'import/resolver': { 'import/resolver': {
@ -41,12 +55,10 @@ module.exports = {
}, },
env: { env: {
browser: true, browser: true,
node: true,
jest: true, jest: true,
jasmine: true node: true,
}, },
globals: { globals: {
__WEBPACK_ENV__: true,
bus: true, bus: true,
}, },
}; };

View file

@ -2,7 +2,7 @@
<div v-if="!authUIFlags.isFetching" id="app" class="app-wrapper app-root"> <div v-if="!authUIFlags.isFetching" id="app" class="app-wrapper app-root">
<update-banner :latest-chatwoot-version="latestChatwootVersion" /> <update-banner :latest-chatwoot-version="latestChatwootVersion" />
<transition name="fade" mode="out-in"> <transition name="fade" mode="out-in">
<router-view></router-view> <router-view />
</transition> </transition>
<add-account-modal <add-account-modal
:show="showAddAccountModal" :show="showAddAccountModal"

View file

@ -1,6 +1,6 @@
<template> <template>
<div class="conversations-list-wrap"> <div class="conversations-list-wrap">
<slot></slot> <slot />
<div <div
class="chat-list__top" class="chat-list__top"
:class="{ filter__applied: hasAppliedFiltersOrActiveFolders }" :class="{ filter__applied: hasAppliedFiltersOrActiveFolders }"
@ -53,8 +53,7 @@
size="small" size="small"
class="btn-filter" class="btn-filter"
@click="onToggleAdvanceFiltersModal" @click="onToggleAdvanceFiltersModal"
> />
</woot-button>
</div> </div>
</div> </div>
@ -102,7 +101,7 @@
/> />
<div v-if="chatListLoading" class="text-center"> <div v-if="chatListLoading" class="text-center">
<span class="spinner"></span> <span class="spinner" />
</div> </div>
<woot-button <woot-button

View file

@ -7,7 +7,7 @@
<p v-if="headerContent" class="small-12 column"> <p v-if="headerContent" class="small-12 column">
{{ headerContent }} {{ headerContent }}
</p> </p>
<slot></slot> <slot />
</div> </div>
</template> </template>

View file

@ -20,8 +20,7 @@
color-scheme="warning" color-scheme="warning"
icon="dismiss-circle" icon="dismiss-circle"
@click="closeNotification" @click="closeNotification"
> />
</woot-button>
</div> </div>
</div> </div>
</transition> </transition>

View file

@ -13,7 +13,7 @@
</p> </p>
</div> </div>
<div class="medium-6 small-12"> <div class="medium-6 small-12">
<slot></slot> <slot />
</div> </div>
</div> </div>
</template> </template>

View file

@ -7,7 +7,7 @@
:icon="icon" :icon="icon"
/> />
<spinner v-if="isLoading" /> <spinner v-if="isLoading" />
<slot></slot> <slot />
</button> </button>
</template> </template>

View file

@ -30,8 +30,7 @@
icon="dismiss-circle" icon="dismiss-circle"
class-names="banner-action__button" class-names="banner-action__button"
@click="onClickClose" @click="onClickClose"
> />
</woot-button>
</div> </div>
</template> </template>

View file

@ -7,7 +7,7 @@
:aria-checked="value.toString()" :aria-checked="value.toString()"
@click="onClick" @click="onClick"
> >
<span aria-hidden="true" :class="{ active: value }"></span> <span aria-hidden="true" :class="{ active: value }" />
</button> </button>
</template> </template>

View file

@ -13,7 +13,7 @@
:icon="icon" :icon="icon"
:icon-size="iconSize" :icon-size="iconSize"
/> />
<span v-if="$slots.default" class="button__content"><slot></slot></span> <span v-if="$slots.default" class="button__content"><slot /></span>
</button> </button>
</template> </template>
<script> <script>

View file

@ -77,7 +77,7 @@
rows="4" rows="4"
:placeholder="$t('AUTOMATION.ACTION.TEAM_MESSAGE_INPUT_PLACEHOLDER')" :placeholder="$t('AUTOMATION.ACTION.TEAM_MESSAGE_INPUT_PLACEHOLDER')"
class="action-message" class="action-message"
></textarea> />
<p <p
v-if="v.action_params.$dirty && v.action_params.$error" v-if="v.action_params.$dirty && v.action_params.$error"
class="filter-error" class="filter-error"

View file

@ -20,7 +20,7 @@
rows="4" rows="4"
:placeholder="$t('AUTOMATION.ACTION.TEAM_MESSAGE_INPUT_PLACEHOLDER')" :placeholder="$t('AUTOMATION.ACTION.TEAM_MESSAGE_INPUT_PLACEHOLDER')"
@input="updateValue" @input="updateValue"
></textarea> />
</div> </div>
</div> </div>
</template> </template>

View file

@ -6,7 +6,7 @@
<p v-if="headerContent" class="small-12 column"> <p v-if="headerContent" class="small-12 column">
{{ headerContent }} {{ headerContent }}
</p> </p>
<slot></slot> <slot />
</div> </div>
</template> </template>

View file

@ -1,6 +1,6 @@
<template> <template>
<div class="audio-wave-wrapper"> <div class="audio-wave-wrapper">
<audio id="audio-wave" class="video-js vjs-fill vjs-default-skin"></audio> <audio id="audio-wave" class="video-js vjs-fill vjs-default-skin" />
</div> </div>
</template> </template>

View file

@ -10,7 +10,7 @@
:search-key="cannedSearchTerm" :search-key="cannedSearchTerm"
@click="insertCannedResponse" @click="insertCannedResponse"
/> />
<div ref="editor"></div> <div ref="editor" />
</div> </div>
</template> </template>

View file

@ -32,8 +32,7 @@
class="sidebar-toggle--button" class="sidebar-toggle--button"
:icon="isRightOrLeftIcon" :icon="isRightOrLeftIcon"
@click="onToggleContactPanel" @click="onToggleContactPanel"
> />
</woot-button>
</div> </div>
<ul class="conversation-panel"> <ul class="conversation-panel">
<transition name="slide-up"> <transition name="slide-up">

View file

@ -5,7 +5,7 @@
rows="4" rows="4"
readonly readonly
class="template-input" class="template-input"
></textarea> />
<div v-if="variables" class="template__variables-container"> <div v-if="variables" class="template__variables-container">
<p class="variables-label"> <p class="variables-label">
{{ $t('WHATSAPP_TEMPLATES.PARSER.VARIABLES_LABEL') }} {{ $t('WHATSAPP_TEMPLATES.PARSER.VARIABLES_LABEL') }}

View file

@ -6,7 +6,7 @@
'hide--quoted': !showQuotedContent, 'hide--quoted': !showQuotedContent,
}" }"
> >
<div v-dompurify-html="message" class="text-content"></div> <div v-dompurify-html="message" class="text-content" />
<button <button
v-if="displayQuotedButton" v-if="displayQuotedButton"
class="quoted-text--button" class="quoted-text--button"

View file

@ -22,7 +22,7 @@
accept="image/png, image/jpeg, image/gif" accept="image/png, image/jpeg, image/gif"
@change="handleImageUpload" @change="handleImageUpload"
/> />
<slot></slot> <slot />
</label> </label>
</div> </div>
</template> </template>

View file

@ -10,7 +10,7 @@
@input="onChange" @input="onChange"
@blur="onBlur" @blur="onBlur"
/> />
<p v-if="helpText" class="help-text"></p> <p v-if="helpText" class="help-text" />
<span v-if="error" class="message"> <span v-if="error" class="message">
{{ error }} {{ error }}
</span> </span>

View file

@ -1,7 +1,7 @@
<template> <template>
<modal :show.sync="show" :on-close="cancel"> <modal :show.sync="show" :on-close="cancel">
<div class="column content-box"> <div class="column content-box">
<woot-modal-header :header-title="title"> </woot-modal-header> <woot-modal-header :header-title="title" />
<div class="row modal-content"> <div class="row modal-content">
<div class="medium-12 columns"> <div class="medium-12 columns">
<p> <p>

View file

@ -9,7 +9,7 @@
color-scheme="success" color-scheme="success"
small small
class="label--merge-warning" class="label--merge-warning"
></woot-label> />
</label> </label>
<multiselect <multiselect
:value="primaryContact" :value="primaryContact"
@ -46,7 +46,7 @@
color-scheme="alert" color-scheme="alert"
small small
class="label--merge-warning" class="label--merge-warning"
></woot-label> />
</label> </label>
<multiselect <multiselect
v-model="childContact" v-model="childContact"

View file

@ -14,7 +14,7 @@
</div> </div>
<div class="agent-message-wrap"> <div class="agent-message-wrap">
<div class="agent-message"> <div class="agent-message">
<div class="avatar-wrap"></div> <div class="avatar-wrap" />
<div class="message-wrap"> <div class="message-wrap">
<div class="chat-bubble agent"> <div class="chat-bubble agent">
<div class="message-content"> <div class="message-content">

View file

@ -1,6 +1,6 @@
<template> <template>
<div class="footer-wrap"> <div class="footer-wrap">
<div class="input-area"></div> <div class="input-area" />
</div> </div>
</template> </template>

View file

@ -11,7 +11,7 @@
<div v-if="!config.isExpanded"> <div v-if="!config.isExpanded">
<div class="title-block text-base font-medium"> <div class="title-block text-base font-medium">
<span class="mr-1">{{ config.websiteName }}</span> <span class="mr-1">{{ config.websiteName }}</span>
<div v-if="config.isOnline" class="online-dot"></div> <div v-if="config.isOnline" class="online-dot" />
</div> </div>
<div class="text-xs mt-1 text-black-700"> <div class="text-xs mt-1 text-black-700">
{{ responseTime }} {{ responseTime }}

View file

@ -1,5 +1,5 @@
<template> <template>
<div class="row auth-wrap login align-center"> <div class="row auth-wrap login align-center">
<router-view></router-view> <router-view />
</div> </div>
</template> </template>

View file

@ -1,5 +1,5 @@
<template> <template>
<loading-state :message="$t('CONFIRM_EMAIL')"></loading-state> <loading-state :message="$t('CONFIRM_EMAIL')" />
</template> </template>
<script> <script>
import LoadingState from '../../components/widgets/LoadingState'; import LoadingState from '../../components/widgets/LoadingState';

View file

@ -38,8 +38,7 @@
:button-text="$t('SET_NEW_PASSWORD.SUBMIT')" :button-text="$t('SET_NEW_PASSWORD.SUBMIT')"
:loading="newPasswordAPI.showLoading" :loading="newPasswordAPI.showLoading"
button-class="expanded" button-class="expanded"
> />
</woot-submit-button>
<!-- <input type="submit" class="button " v-on:click.prevent="login()" v-bind:value="" > --> <!-- <input type="submit" class="button " v-on:click.prevent="login()" v-bind:value="" > -->
</div> </div>
</form> </form>

View file

@ -89,9 +89,8 @@
:button-text="$t('REGISTER.SUBMIT')" :button-text="$t('REGISTER.SUBMIT')"
:loading="isSignupInProgress" :loading="isSignupInProgress"
button-class="large expanded" button-class="large expanded"
> />
</woot-submit-button> <p v-dompurify-html="termsLink" class="accept--terms" />
<p v-dompurify-html="termsLink" class="accept--terms"></p>
</form> </form>
<div class="column text-center sigin--footer"> <div class="column text-center sigin--footer">
<span>{{ $t('REGISTER.HAVE_AN_ACCOUNT') }}</span> <span>{{ $t('REGISTER.HAVE_AN_ACCOUNT') }}</span>

View file

@ -8,9 +8,9 @@
@open-key-shortcut-modal="toggleKeyShortcutModal" @open-key-shortcut-modal="toggleKeyShortcutModal"
@close-key-shortcut-modal="closeKeyShortcutModal" @close-key-shortcut-modal="closeKeyShortcutModal"
@show-add-label-popup="showAddLabelPopup" @show-add-label-popup="showAddLabelPopup"
></sidebar> />
<section class="app-content columns" :class="contentClassName"> <section class="app-content columns" :class="contentClassName">
<router-view></router-view> <router-view />
<command-bar /> <command-bar />
<account-selector <account-selector
:show-account-modal="showAccountModal" :show-account-modal="showAccountModal"

View file

@ -5,8 +5,7 @@
v-model="content" v-model="content"
class="input--reminder" class="input--reminder"
@keydown.enter.shift.exact="onAdd" @keydown.enter.shift.exact="onAdd"
> />
</textarea>
<div class="select-wrap"> <div class="select-wrap">
<div class="select"> <div class="select">
<div class="input-group"> <div class="input-group">

View file

@ -17,7 +17,7 @@
/> />
</div> </div>
</div> </div>
<spinner v-else></spinner> <spinner v-else />
</div> </div>
</template> </template>

View file

@ -9,9 +9,7 @@
{{ attribute }} {{ attribute }}
</div> </div>
<div> <div>
<span <span v-dompurify-html="valueWithLink(customAttributes[attribute])" />
v-dompurify-html="valueWithLink(customAttributes[attribute])"
></span>
</div> </div>
</div> </div>
<p v-if="!listOfAttributes.length"> <p v-if="!listOfAttributes.length">

View file

@ -4,7 +4,7 @@
<span class="item__title"> <span class="item__title">
{{ title }} {{ title }}
</span> </span>
<slot name="button"></slot> <slot name="button" />
</h4> </h4>
<div v-if="value" class="conv-details--item__value"> <div v-if="value" class="conv-details--item__value">
<slot> <slot>

View file

@ -50,8 +50,7 @@
<conversation-info <conversation-info
:conversation-attributes="conversationAdditionalAttributes" :conversation-attributes="conversationAdditionalAttributes"
:contact-attributes="contactAdditionalAttributes" :contact-attributes="contactAdditionalAttributes"
> />
</conversation-info>
</accordion-item> </accordion-item>
</div> </div>
<div v-else-if="element.name === 'contact_attributes'"> <div v-else-if="element.name === 'contact_attributes'">

View file

@ -14,8 +14,7 @@
:inbox-id="inboxId" :inbox-id="inboxId"
:is-contact-panel-open="isContactPanelOpen" :is-contact-panel-open="isContactPanelOpen"
@contact-panel-toggle="onToggleContactPanel" @contact-panel-toggle="onToggleContactPanel"
> />
</conversation-box>
</section> </section>
</template> </template>

View file

@ -36,7 +36,7 @@
</div> </div>
</div> </div>
</div> </div>
<spinner v-else></spinner> <spinner v-else />
</div> </div>
</template> </template>

View file

@ -14,7 +14,7 @@
</div> </div>
<span class="timestamp">{{ readableTime }} </span> <span class="timestamp">{{ readableTime }} </span>
</div> </div>
<p v-dompurify-html="prepareContent(content)" class="message-content"></p> <p v-dompurify-html="prepareContent(content)" class="message-content" />
</div> </div>
</div> </div>
</template> </template>

View file

@ -64,8 +64,7 @@
icon="chevron-left" icon="chevron-left"
:disabled="inFirstPage" :disabled="inFirstPage"
@click="onClickPreviousPage" @click="onClickPreviousPage"
> />
</woot-button>
</div> </div>
<span class="page-count"> {{ currentPage }} - {{ lastPage }} </span> <span class="page-count"> {{ currentPage }} - {{ lastPage }} </span>
<div class="flex-view"> <div class="flex-view">
@ -76,8 +75,7 @@
icon="chevron-right" icon="chevron-right"
:disabled="inLastPage" :disabled="inLastPage"
@click="onClickNextPage" @click="onClickNextPage"
> />
</woot-button>
<woot-button <woot-button
size="medium" size="medium"
variant="clear" variant="clear"
@ -95,7 +93,7 @@
</woot-button> </woot-button>
</div> </div>
</div> </div>
<div v-else></div> <div v-else />
</div> </div>
</div> </div>
</template> </template>

View file

@ -13,8 +13,8 @@
<div <div
v-if="!notificationItem.read_at" v-if="!notificationItem.read_at"
class="notification-unread--indicator" class="notification-unread--indicator"
></div> />
<div v-else class="empty flex-view"></div> <div v-else class="empty flex-view" />
<div class="notification-content--wrap w-full flex-space-between"> <div class="notification-content--wrap w-full flex-space-between">
<div class="flex-space-between"> <div class="flex-space-between">
<div class="title-wrap flex-view "> <div class="title-wrap flex-view ">

View file

@ -6,8 +6,7 @@
:button-text="$t('NOTIFICATIONS_PAGE.MARK_ALL_DONE')" :button-text="$t('NOTIFICATIONS_PAGE.MARK_ALL_DONE')"
:loading="isUpdating" :loading="isUpdating"
@click="onMarkAllDoneClick" @click="onMarkAllDoneClick"
> />
</woot-submit-button>
<table class="woot-table notifications-table"> <table class="woot-table notifications-table">
<tbody v-show="!isLoading"> <tbody v-show="!isLoading">

View file

@ -1,14 +1,14 @@
<template> <template>
<div class="settings-header"> <div class="settings-header">
<h1 class="page-title"> <h1 class="page-title">
<woot-sidemenu-icon></woot-sidemenu-icon> <woot-sidemenu-icon />
<back-button <back-button
v-if="showBackButton" v-if="showBackButton"
:button-label="backButtonLabel" :button-label="backButtonLabel"
:back-url="backUrl" :back-url="backUrl"
/> />
<fluent-icon v-if="icon" :icon="icon" :class="iconClass" /> <fluent-icon v-if="icon" :icon="icon" :class="iconClass" />
<slot></slot> <slot />
<span>{{ headerTitle }}</span> <span>{{ headerTitle }}</span>
</h1> </h1>
<router-link <router-link

View file

@ -3,7 +3,7 @@
<h2 class="page-sub-title"> <h2 class="page-sub-title">
{{ headerTitle }} {{ headerTitle }}
</h2> </h2>
<p v-dompurify-html="headerContent" class="small-12 column"></p> <p v-dompurify-html="headerContent" class="small-12 column" />
</div> </div>
</template> </template>

View file

@ -10,9 +10,9 @@
:show-new-button="showNewButton" :show-new-button="showNewButton"
/> />
<keep-alive v-if="keepAlive"> <keep-alive v-if="keepAlive">
<router-view></router-view> <router-view />
</keep-alive> </keep-alive>
<router-view v-else></router-view> <router-view v-else />
</div> </div>
</template> </template>

View file

@ -89,7 +89,7 @@
</p> </p>
</div> </div>
<div class="columns small-9 medium-5"> <div class="columns small-9 medium-5">
<woot-code :script="getAccountId"></woot-code> <woot-code :script="getAccountId" />
</div> </div>
</div> </div>
<div class="current-version"> <div class="current-version">
@ -107,8 +107,7 @@
class="button nice success button--fixed-right-top" class="button nice success button--fixed-right-top"
:button-text="$t('GENERAL_SETTINGS.SUBMIT')" :button-text="$t('GENERAL_SETTINGS.SUBMIT')"
:loading="isUpdating" :loading="isUpdating"
> />
</woot-submit-button>
</form> </form>
<woot-loading-state v-if="uiFlags.isFetchingItem" /> <woot-loading-state v-if="uiFlags.isFetchingItem" />

View file

@ -66,8 +66,7 @@
icon="edit" icon="edit"
class-names="grey-btn" class-names="grey-btn"
@click="openEditPopup(agent)" @click="openEditPopup(agent)"
> />
</woot-button>
<woot-button <woot-button
v-if="showDeleteAction(agent)" v-if="showDeleteAction(agent)"
v-tooltip.top="$t('AGENT_MGMT.DELETE.BUTTON_TEXT')" v-tooltip.top="$t('AGENT_MGMT.DELETE.BUTTON_TEXT')"
@ -78,8 +77,7 @@
class-names="grey-btn" class-names="grey-btn"
:is-loading="loading[agent.id]" :is-loading="loading[agent.id]"
@click="openDeletePopup(agent, index)" @click="openDeletePopup(agent, index)"
> />
</woot-button>
</div> </div>
</td> </td>
</tr> </tr>

View file

@ -57,8 +57,7 @@
class-names="grey-btn" class-names="grey-btn"
icon="edit" icon="edit"
@click="openEditPopup(attribute)" @click="openEditPopup(attribute)"
> />
</woot-button>
<woot-button <woot-button
v-tooltip.top="$t('ATTRIBUTES_MGMT.LIST.BUTTONS.DELETE')" v-tooltip.top="$t('ATTRIBUTES_MGMT.LIST.BUTTONS.DELETE')"
variant="smooth" variant="smooth"
@ -67,8 +66,7 @@
icon="dismiss-circle" icon="dismiss-circle"
class-names="grey-btn" class-names="grey-btn"
@click="openDelete(attribute)" @click="openDelete(attribute)"
> />
</woot-button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -76,7 +74,7 @@
</div> </div>
</div> </div>
<div class="small-4 columns"> <div class="small-4 columns">
<span v-dompurify-html="$t('ATTRIBUTES_MGMT.SIDEBAR_TXT')"></span> <span v-dompurify-html="$t('ATTRIBUTES_MGMT.SIDEBAR_TXT')" />
</div> </div>
<woot-modal :show.sync="showEditPopup" :on-close="hideEditPopup"> <woot-modal :show.sync="showEditPopup" :on-close="hideEditPopup">
<edit-attribute <edit-attribute

View file

@ -50,8 +50,7 @@
:is-loading="loading[automation.id]" :is-loading="loading[automation.id]"
icon="edit" icon="edit"
@click="openEditPopup(automation)" @click="openEditPopup(automation)"
> />
</woot-button>
<woot-button <woot-button
v-tooltip.top="$t('AUTOMATION.CLONE.TOOLTIP')" v-tooltip.top="$t('AUTOMATION.CLONE.TOOLTIP')"
variant="smooth" variant="smooth"
@ -61,8 +60,7 @@
:is-loading="loading[automation.id]" :is-loading="loading[automation.id]"
icon="copy" icon="copy"
@click="cloneAutomation(automation.id)" @click="cloneAutomation(automation.id)"
> />
</woot-button>
<woot-button <woot-button
v-tooltip.top="$t('AUTOMATION.FORM.DELETE')" v-tooltip.top="$t('AUTOMATION.FORM.DELETE')"
variant="smooth" variant="smooth"
@ -72,8 +70,7 @@
class-names="grey-btn" class-names="grey-btn"
:is-loading="loading[automation.id]" :is-loading="loading[automation.id]"
@click="openDeletePopup(automation, index)" @click="openDeletePopup(automation, index)"
> />
</woot-button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -81,7 +78,7 @@
</div> </div>
<div class="small-4 columns"> <div class="small-4 columns">
<span v-dompurify-html="$t('AUTOMATION.SIDEBAR_TXT')"></span> <span v-dompurify-html="$t('AUTOMATION.SIDEBAR_TXT')" />
</div> </div>
</div> </div>
<woot-modal <woot-modal

View file

@ -56,8 +56,7 @@
color-scheme="secondary" color-scheme="secondary"
icon="edit" icon="edit"
@click="openEditPopup(cannedItem)" @click="openEditPopup(cannedItem)"
> />
</woot-button>
<woot-button <woot-button
v-tooltip.top="$t('CANNED_MGMT.DELETE.BUTTON_TEXT')" v-tooltip.top="$t('CANNED_MGMT.DELETE.BUTTON_TEXT')"
variant="smooth" variant="smooth"
@ -67,8 +66,7 @@
class-names="grey-btn" class-names="grey-btn"
:is-loading="loading[cannedItem.id]" :is-loading="loading[cannedItem.id]"
@click="openDeletePopup(cannedItem, index)" @click="openDeletePopup(cannedItem, index)"
> />
</woot-button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -76,7 +74,7 @@
</div> </div>
<div class="small-4 columns"> <div class="small-4 columns">
<span v-dompurify-html="$t('CANNED_MGMT.SIDEBAR_TXT')"></span> <span v-dompurify-html="$t('CANNED_MGMT.SIDEBAR_TXT')" />
</div> </div>
</div> </div>
<!-- Add Agent --> <!-- Add Agent -->

View file

@ -25,8 +25,7 @@
:deselect-label="$t('FORMS.MULTISELECT.ENTER_TO_REMOVE')" :deselect-label="$t('FORMS.MULTISELECT.ENTER_TO_REMOVE')"
:placeholder="$t('INBOX_MGMT.ADD.AGENTS.PICK_AGENTS')" :placeholder="$t('INBOX_MGMT.ADD.AGENTS.PICK_AGENTS')"
@select="$v.selectedAgents.$touch" @select="$v.selectedAgents.$touch"
> />
</multiselect>
<span v-if="$v.selectedAgents.$error" class="message"> <span v-if="$v.selectedAgents.$error" class="message">
{{ $t('INBOX_MGMT.ADD.AGENTS.VALIDATION_ERROR') }} {{ $t('INBOX_MGMT.ADD.AGENTS.VALIDATION_ERROR') }}
</span> </span>

View file

@ -10,40 +10,35 @@
<woot-code <woot-code
v-if="currentInbox.web_widget_script" v-if="currentInbox.web_widget_script"
:script="currentInbox.web_widget_script" :script="currentInbox.web_widget_script"
> />
</woot-code>
</div> </div>
<div class="medium-6 small-offset-3"> <div class="medium-6 small-offset-3">
<woot-code <woot-code
v-if="isATwilioInbox" v-if="isATwilioInbox"
lang="html" lang="html"
:script="currentInbox.callback_webhook_url" :script="currentInbox.callback_webhook_url"
> />
</woot-code>
</div> </div>
<div class="medium-6 small-offset-3"> <div class="medium-6 small-offset-3">
<woot-code <woot-code
v-if="isALineInbox" v-if="isALineInbox"
lang="html" lang="html"
:script="currentInbox.callback_webhook_url" :script="currentInbox.callback_webhook_url"
> />
</woot-code>
</div> </div>
<div class="medium-6 small-offset-3"> <div class="medium-6 small-offset-3">
<woot-code <woot-code
v-if="isASmsInbox" v-if="isASmsInbox"
lang="html" lang="html"
:script="currentInbox.callback_webhook_url" :script="currentInbox.callback_webhook_url"
> />
</woot-code>
</div> </div>
<div class="medium-6 small-offset-3"> <div class="medium-6 small-offset-3">
<woot-code <woot-code
v-if="isAEmailInbox" v-if="isAEmailInbox"
lang="html" lang="html"
:script="currentInbox.forward_to_email" :script="currentInbox.forward_to_email"
> />
</woot-code>
</div> </div>
<div class="footer"> <div class="footer">
<router-link <router-link

View file

@ -5,7 +5,7 @@
:global-config="globalConfig" :global-config="globalConfig"
:items="items" :items="items"
/> />
<router-view></router-view> <router-view />
</div> </div>
</template> </template>

View file

@ -77,8 +77,7 @@
icon="settings" icon="settings"
color-scheme="secondary" color-scheme="secondary"
class-names="grey-btn" class-names="grey-btn"
> />
</woot-button>
</router-link> </router-link>
<woot-button <woot-button
@ -91,8 +90,7 @@
:is-loading="loading[item.id]" :is-loading="loading[item.id]"
icon="dismiss-circle" icon="dismiss-circle"
@click="openDelete(item)" @click="openDelete(item)"
> />
</woot-button>
</div> </div>
</td> </td>
</tr> </tr>

View file

@ -31,8 +31,8 @@
<table class="table table-striped w-full"> <table class="table table-striped w-full">
<thead class="thead-dark"> <thead class="thead-dark">
<tr> <tr>
<th scope="col"></th> <th scope="col" />
<th scope="col"></th> <th scope="col" />
<th scope="col"> <th scope="col">
{{ $t('INBOX_MGMT.PRE_CHAT_FORM.SET_FIELDS_HEADER.KEY') }} {{ $t('INBOX_MGMT.PRE_CHAT_FORM.SET_FIELDS_HEADER.KEY') }}
</th> </th>

View file

@ -17,7 +17,7 @@
</select> </select>
</label> </label>
</div> </div>
<twilio v-if="provider === 'twilio'" type="sms"></twilio> <twilio v-if="provider === 'twilio'" type="sms" />
<bandwidth-sms v-else /> <bandwidth-sms v-else />
</div> </div>
</template> </template>

View file

@ -18,7 +18,7 @@
</label> </label>
</div> </div>
<twilio v-if="provider === 'twilio'" type="whatsapp"></twilio> <twilio v-if="provider === 'twilio'" type="whatsapp" />
<three-sixty-dialog-whatsapp v-else /> <three-sixty-dialog-whatsapp v-else />
</div> </div>
</template> </template>

View file

@ -4,7 +4,7 @@
:title="$t('INBOX_MGMT.ADD.TWILIO.API_CALLBACK.TITLE')" :title="$t('INBOX_MGMT.ADD.TWILIO.API_CALLBACK.TITLE')"
:sub-title="$t('INBOX_MGMT.ADD.TWILIO.API_CALLBACK.SUBTITLE')" :sub-title="$t('INBOX_MGMT.ADD.TWILIO.API_CALLBACK.SUBTITLE')"
> >
<woot-code :script="inbox.callback_webhook_url" lang="html"></woot-code> <woot-code :script="inbox.callback_webhook_url" lang="html" />
</settings-section> </settings-section>
</div> </div>
<div v-else-if="isALineChannel" class="settings--content"> <div v-else-if="isALineChannel" class="settings--content">
@ -12,7 +12,7 @@
:title="$t('INBOX_MGMT.ADD.LINE_CHANNEL.API_CALLBACK.TITLE')" :title="$t('INBOX_MGMT.ADD.LINE_CHANNEL.API_CALLBACK.TITLE')"
:sub-title="$t('INBOX_MGMT.ADD.LINE_CHANNEL.API_CALLBACK.SUBTITLE')" :sub-title="$t('INBOX_MGMT.ADD.LINE_CHANNEL.API_CALLBACK.SUBTITLE')"
> >
<woot-code :script="inbox.callback_webhook_url" lang="html"></woot-code> <woot-code :script="inbox.callback_webhook_url" lang="html" />
</settings-section> </settings-section>
</div> </div>
<div v-else-if="isAWebWidgetInbox"> <div v-else-if="isAWebWidgetInbox">
@ -21,14 +21,14 @@
:title="$t('INBOX_MGMT.SETTINGS_POPUP.MESSENGER_HEADING')" :title="$t('INBOX_MGMT.SETTINGS_POPUP.MESSENGER_HEADING')"
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.MESSENGER_SUB_HEAD')" :sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.MESSENGER_SUB_HEAD')"
> >
<woot-code :script="inbox.web_widget_script"></woot-code> <woot-code :script="inbox.web_widget_script" />
</settings-section> </settings-section>
<settings-section <settings-section
:title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_VERIFICATION')" :title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_VERIFICATION')"
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_DESCRIPTION')" :sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_DESCRIPTION')"
> >
<woot-code :script="inbox.hmac_token"></woot-code> <woot-code :script="inbox.hmac_token" />
</settings-section> </settings-section>
<settings-section <settings-section
:title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_MANDATORY_VERIFICATION')" :title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_MANDATORY_VERIFICATION')"
@ -53,7 +53,7 @@
:title="$t('INBOX_MGMT.SETTINGS_POPUP.INBOX_IDENTIFIER')" :title="$t('INBOX_MGMT.SETTINGS_POPUP.INBOX_IDENTIFIER')"
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.INBOX_IDENTIFIER_SUB_TEXT')" :sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.INBOX_IDENTIFIER_SUB_TEXT')"
> >
<woot-code :script="inbox.inbox_identifier"></woot-code> <woot-code :script="inbox.inbox_identifier" />
</settings-section> </settings-section>
</div> </div>
<div v-else-if="isAnEmailChannel"> <div v-else-if="isAnEmailChannel">
@ -62,7 +62,7 @@
:title="$t('INBOX_MGMT.SETTINGS_POPUP.FORWARD_EMAIL_TITLE')" :title="$t('INBOX_MGMT.SETTINGS_POPUP.FORWARD_EMAIL_TITLE')"
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.FORWARD_EMAIL_SUB_TEXT')" :sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.FORWARD_EMAIL_SUB_TEXT')"
> >
<woot-code :script="inbox.forward_to_email"></woot-code> <woot-code :script="inbox.forward_to_email" />
</settings-section> </settings-section>
</div> </div>
<imap-settings :inbox="inbox" /> <imap-settings :inbox="inbox" />

View file

@ -31,8 +31,7 @@
icon="dismiss-circle" icon="dismiss-circle"
class-names="grey-btn" class-names="grey-btn"
@click="$emit('delete', hook)" @click="$emit('delete', hook)"
> />
</woot-button>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View file

@ -6,7 +6,7 @@
<p> <p>
<span <span
v-dompurify-html="$t('INTEGRATION_SETTINGS.SLACK.HELP_TEXT.BODY')" v-dompurify-html="$t('INTEGRATION_SETTINGS.SLACK.HELP_TEXT.BODY')"
></span> />
</p> </p>
</div> </div>
</div> </div>

View file

@ -17,8 +17,7 @@
color-scheme="secondary" color-scheme="secondary"
icon="edit" icon="edit"
@click="$emit('edit', webhook)" @click="$emit('edit', webhook)"
> />
</woot-button>
<woot-button <woot-button
v-tooltip.top="$t('INTEGRATION_SETTINGS.WEBHOOK.DELETE.BUTTON_TEXT')" v-tooltip.top="$t('INTEGRATION_SETTINGS.WEBHOOK.DELETE.BUTTON_TEXT')"
variant="smooth" variant="smooth"
@ -26,8 +25,7 @@
size="tiny" size="tiny"
icon="dismiss-circle" icon="dismiss-circle"
@click="$emit('delete', webhook, index)" @click="$emit('delete', webhook, index)"
> />
</woot-button>
</td> </td>
</tr> </tr>
</template> </template>

View file

@ -52,8 +52,7 @@
:is-loading="loading[label.id]" :is-loading="loading[label.id]"
icon="edit" icon="edit"
@click="openEditPopup(label)" @click="openEditPopup(label)"
> />
</woot-button>
<woot-button <woot-button
v-tooltip.top="$t('LABEL_MGMT.FORM.DELETE')" v-tooltip.top="$t('LABEL_MGMT.FORM.DELETE')"
variant="smooth" variant="smooth"
@ -63,8 +62,7 @@
class-names="grey-btn" class-names="grey-btn"
:is-loading="loading[label.id]" :is-loading="loading[label.id]"
@click="openDeletePopup(label, index)" @click="openDeletePopup(label, index)"
> />
</woot-button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -72,7 +70,7 @@
</div> </div>
<div class="small-4 columns"> <div class="small-4 columns">
<span v-dompurify-html="$t('LABEL_MGMT.SIDEBAR_TXT')"></span> <span v-dompurify-html="$t('LABEL_MGMT.SIDEBAR_TXT')" />
</div> </div>
</div> </div>
<woot-modal :show.sync="showAddPopup" :on-close="hideAddPopup"> <woot-modal :show.sync="showAddPopup" :on-close="hideAddPopup">

View file

@ -87,7 +87,7 @@
</p> </p>
</div> </div>
<div class="columns small-9 medium-5"> <div class="columns small-9 medium-5">
<woot-code :script="currentUser.access_token"></woot-code> <woot-code :script="currentUser.access_token" />
</div> </div>
</div> </div>
</div> </div>

View file

@ -76,7 +76,7 @@
reports-option__item reports-option__item
reports-option__label--swatch reports-option__label--swatch
" "
></div> />
<span class="reports-option__desc"> <span class="reports-option__desc">
<span class="reports-option__title"> <span class="reports-option__title">
{{ props.option.title }} {{ props.option.title }}

View file

@ -7,7 +7,7 @@
</span> </span>
</div> </div>
<div v-if="!isLoading" class="card-body row"> <div v-if="!isLoading" class="card-body row">
<slot></slot> <slot />
</div> </div>
<div v-else-if="isLoading" class="conversation-metric-loader"> <div v-else-if="isLoading" class="conversation-metric-loader">
<spinner /> <spinner />

View file

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<div class="add-agents__header"></div> <div class="add-agents__header" />
<table class="woot-table"> <table class="woot-table">
<thead> <thead>
<tr> <tr>

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="row content-box full-height"> <div class="row content-box full-height">
<woot-wizard class="small-3 columns" :items="items" /> <woot-wizard class="small-3 columns" :items="items" />
<router-view></router-view> <router-view />
</div> </div>
</template> </template>

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="row content-box full-height"> <div class="row content-box full-height">
<woot-wizard class="small-3 columns" :items="items" /> <woot-wizard class="small-3 columns" :items="items" />
<router-view></router-view> <router-view />
</div> </div>
</template> </template>

View file

@ -33,8 +33,7 @@
color-scheme="secondary" color-scheme="secondary"
class-names="grey-btn" class-names="grey-btn"
icon="settings" icon="settings"
> />
</woot-button>
</router-link> </router-link>
<woot-button <woot-button
v-if="isAdmin" v-if="isAdmin"
@ -46,8 +45,7 @@
class-names="grey-btn" class-names="grey-btn"
:is-loading="loading[item.id]" :is-loading="loading[item.id]"
@click="openDelete(item)" @click="openDelete(item)"
> />
</woot-button>
</div> </div>
</td> </td>
</tr> </tr>

View file

@ -45,8 +45,7 @@
:button-text="$t('LOGIN.SUBMIT')" :button-text="$t('LOGIN.SUBMIT')"
:loading="loginApi.showLoading" :loading="loginApi.showLoading"
button-class="large expanded" button-class="large expanded"
> />
</woot-submit-button>
</div> </div>
</form> </form>
<div class="column text-center sigin__footer"> <div class="column text-center sigin__footer">

View file

@ -5,7 +5,7 @@
:disabled="disabled" :disabled="disabled"
@click="onClick" @click="onClick"
> >
<slot></slot> <slot />
</button> </button>
</template> </template>
<script> <script>

View file

@ -1,5 +1,5 @@
<template> <template>
<span class="spinner" :class="size"></span> <span class="spinner" :class="size" />
</template> </template>
<script> <script>
export default { export default {

View file

@ -43,8 +43,7 @@
<fluent-icon <fluent-icon
v-if="option.id === (selectedItem && selectedItem.id)" v-if="option.id === (selectedItem && selectedItem.id)"
icon="checkmark" icon="checkmark"
> />
</fluent-icon>
</div> </div>
</div> </div>
</woot-button> </woot-button>

View file

@ -1,9 +1,5 @@
<template> <template>
<li <li class="dropdown-menu--divider" :tabindex="null" :aria-disabled="true" />
class="dropdown-menu--divider"
:tabindex="null"
:aria-disabled="true"
></li>
</template> </template>
<script> <script>
export default {}; export default {};

View file

@ -7,7 +7,7 @@
:tabindex="disabled ? null : -1" :tabindex="disabled ? null : -1"
:aria-disabled="disabled" :aria-disabled="disabled"
> >
<slot></slot> <slot />
</li> </li>
</template> </template>
<script> <script>

View file

@ -4,7 +4,7 @@
class="dropdown menu vertical" class="dropdown menu vertical"
:class="[placement && `dropdown--${placement}`]" :class="[placement && `dropdown--${placement}`]"
> >
<slot></slot> <slot />
</ul> </ul>
</template> </template>
<script> <script>

View file

@ -2,7 +2,7 @@
<li class="sub-menu-container"> <li class="sub-menu-container">
<ul class="sub-menu-li-container"> <ul class="sub-menu-li-container">
<woot-dropdown-header :title="title" /> <woot-dropdown-header :title="title" />
<slot></slot> <slot />
</ul> </ul>
</li> </li>
</template> </template>

View file

@ -1,5 +1,5 @@
<template> <template>
<div class="test"></div> <div class="test" />
</template> </template>
<script> <script>

View file

@ -45,7 +45,7 @@
/> />
</div> </div>
<div class="mb-3"> <div class="mb-3">
<branding></branding> <branding />
</div> </div>
</div> </div>
</div> </div>

View file

@ -15,7 +15,7 @@
'is-flat-design': isWidgetStyleFlat, 'is-flat-design': isWidgetStyleFlat,
}" }"
> >
<router-view></router-view> <router-view />
</div> </div>
</template> </template>

View file

@ -11,7 +11,7 @@
v-dompurify-html="formatMessage(message, false)" v-dompurify-html="formatMessage(message, false)"
class="message-content" class="message-content"
:class="$dm('text-black-900', 'dark:text-slate-50')" :class="$dm('text-black-900', 'dark:text-slate-50')"
></div> />
<email-input <email-input
v-if="isTemplateEmail" v-if="isTemplateEmail"
:message-id="messageId" :message-id="messageId"
@ -24,8 +24,7 @@
:options="messageContentAttributes.items" :options="messageContentAttributes.items"
:hide-fields="!!messageContentAttributes.submitted_values" :hide-fields="!!messageContentAttributes.submitted_values"
@click="onOptionSelect" @click="onOptionSelect"
> />
</chat-options>
</div> </div>
<chat-form <chat-form
v-if="isForm && !messageContentAttributes.submitted_values" v-if="isForm && !messageContentAttributes.submitted_values"
@ -33,8 +32,7 @@
:button-label="messageContentAttributes.button_label" :button-label="messageContentAttributes.button_label"
:submitted-values="messageContentAttributes.submitted_values" :submitted-values="messageContentAttributes.submitted_values"
@submit="onFormSubmit" @submit="onFormSubmit"
> />
</chat-form>
<div v-if="isCards"> <div v-if="isCards">
<chat-card <chat-card
v-for="item in messageContentAttributes.items" v-for="item in messageContentAttributes.items"
@ -43,11 +41,10 @@
:title="item.title" :title="item.title"
:description="item.description" :description="item.description"
:actions="item.actions" :actions="item.actions"
> />
</chat-card>
</div> </div>
<div v-if="isArticle"> <div v-if="isArticle">
<chat-article :items="messageContentAttributes.items"></chat-article> <chat-article :items="messageContentAttributes.items" />
</div> </div>
<customer-satisfaction <customer-satisfaction
v-if="isCSAT" v-if="isCSAT"

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="agent-message-wrap"> <div class="agent-message-wrap">
<div class="agent-message"> <div class="agent-message">
<div class="avatar-wrap"></div> <div class="avatar-wrap" />
<div class="message-wrap"> <div class="message-wrap">
<div <div
class="typing-bubble chat-bubble agent" class="typing-bubble chat-bubble agent"

View file

@ -2,14 +2,14 @@
<div class="conversation--container"> <div class="conversation--container">
<div class="conversation-wrap" :class="{ 'is-typing': isAgentTyping }"> <div class="conversation-wrap" :class="{ 'is-typing': isAgentTyping }">
<div v-if="isFetchingList" class="message--loader"> <div v-if="isFetchingList" class="message--loader">
<spinner></spinner> <spinner />
</div> </div>
<div <div
v-for="groupedMessage in groupedMessages" v-for="groupedMessage in groupedMessages"
:key="groupedMessage.date" :key="groupedMessage.date"
class="messages-wrap" class="messages-wrap"
> >
<date-separator :date="groupedMessage.date"></date-separator> <date-separator :date="groupedMessage.date" />
<chat-message <chat-message
v-for="message in groupedMessage.messages" v-for="message in groupedMessage.messages"
:key="message.id" :key="message.id"

View file

@ -18,7 +18,7 @@
<div <div
v-dompurify-html="formatMessage(message, false)" v-dompurify-html="formatMessage(message, false)"
class="message-content" class="message-content"
></div> />
</button> </button>
</div> </div>
</template> </template>

View file

@ -1,5 +1,5 @@
<template> <template>
<div class="user-avatar" :class="size" :style="getBgImage"></div> <div class="user-avatar" :class="size" :style="getBgImage" />
</template> </template>
<script> <script>
/** /**

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="relative"> <div class="relative">
<button class="z-10 focus:outline-none select-none" @click="toggleMenu"> <button class="z-10 focus:outline-none select-none" @click="toggleMenu">
<slot name="button"></slot> <slot name="button" />
</button> </button>
<!-- to close when clicked on space around it--> <!-- to close when clicked on space around it-->
@ -10,7 +10,7 @@
tabindex="-1" tabindex="-1"
class="fixed inset-0 h-full w-full cursor-default focus:outline-none" class="fixed inset-0 h-full w-full cursor-default focus:outline-none"
@click="toggleMenu" @click="toggleMenu"
></button> />
<!--dropdown menu--> <!--dropdown menu-->
<transition <transition
@ -26,7 +26,7 @@
class="menu-content absolute shadow-xl rounded-md border-solid border border-slate-100 mt-1 py-1 px-2 bg-white z-10" class="menu-content absolute shadow-xl rounded-md border-solid border border-slate-100 mt-1 py-1 px-2 bg-white z-10"
:class="menuPlacement === 'right' ? 'right-0' : 'left-0'" :class="menuPlacement === 'right' ? 'right-0' : 'left-0'"
> >
<slot name="content"></slot> <slot name="content" />
</div> </div>
</transition> </transition>
</div> </div>

View file

@ -3,7 +3,8 @@
"version": "2.5.0", "version": "2.5.0",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"eslint": "eslint app/**/*.{js,vue} --fix", "eslint": "eslint app/**/*.{js,vue}",
"eslint:fix": "eslint app/**/*.{js,vue} --fix",
"pretest": "rimraf .jest-cache", "pretest": "rimraf .jest-cache",
"test": "jest -w 1 --no-cache", "test": "jest -w 1 --no-cache",
"test:watch": "jest -w 1 --watch --no-cache", "test:watch": "jest -w 1 --watch --no-cache",