@webitel/ui-sdk 23.12.3 → 23.12.5-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/favicon.ico +0 -0
- package/dist/img/sprite/index.js +148 -1
- package/dist/img/sprite/link.svg +8 -0
- package/dist/img/sprite/variable-select.svg +9 -0
- package/dist/plyr.svg +70 -0
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.mjs +22670 -0
- package/dist/ui-sdk.umd.js +37 -43084
- package/package.json +34 -40
- package/src/api/axios/generateInstance.js +1 -1
- package/src/components/on-demand/wt-cc-agent-status-timers/wt-cc-agent-status-timers.vue +3 -3
- package/src/components/on-demand/wt-save-failed-popup/__tests__/WtPopup.spec.js +9 -0
- package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +70 -0
- package/src/components/transitions/wt-expand-transition.vue +2 -2
- package/src/components/wt-app-header/_variables.scss +1 -1
- package/src/components/wt-app-header/wt-app-header.vue +2 -5
- package/src/components/wt-app-header/wt-app-navigator.vue +6 -5
- package/src/components/wt-app-header/wt-header-actions.vue +30 -14
- package/src/components/wt-avatar/_variables.scss +1 -1
- package/src/components/wt-avatar/wt-avatar.vue +2 -2
- package/src/components/wt-badge/wt-badge.vue +3 -3
- package/src/components/wt-button/_variables.scss +2 -32
- package/src/components/wt-button/wt-button.vue +5 -3
- package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +9 -8
- package/src/components/wt-button-select/wt-button-select.vue +58 -59
- package/src/components/wt-checkbox/wt-checkbox.vue +15 -48
- package/src/components/wt-chip/_variables.scss +21 -2
- package/src/components/wt-chip/wt-chip.scss +20 -17
- package/src/components/wt-chip/wt-chip.vue +10 -5
- package/src/components/wt-context-menu/wt-context-menu.vue +4 -4
- package/src/components/wt-copy-action/wt-copy-action.vue +6 -6
- package/src/components/wt-datepicker/_variables.scss +1 -1
- package/src/components/wt-datepicker/wt-datepicker.vue +14 -12
- package/src/components/wt-divider/wt-divider.vue +1 -1
- package/src/components/wt-dummy/wt-dummy.vue +6 -2
- package/src/components/wt-error-page/wt-error-page.vue +10 -4
- package/src/components/wt-expansion-panel/wt-expansion-panel.vue +4 -4
- package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +7 -4
- package/src/components/wt-headline/wt-headline.vue +4 -4
- package/src/components/wt-headline-nav/_variables.scss +5 -2
- package/src/components/wt-headline-nav/wt-headline-nav.vue +46 -33
- package/src/components/wt-hint/wt-hint.vue +5 -6
- package/src/components/wt-icon/_variables.scss +5 -10
- package/src/components/wt-icon/wt-icon.vue +15 -6
- package/src/components/wt-icon-action/_internals/wt-add-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-delete-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-download-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-edit-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-history-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-refresh-icon-action.vue +2 -2
- package/src/components/wt-icon-action/wt-icon-action.vue +1 -1
- package/src/components/wt-icon-btn/wt-icon-btn.vue +3 -2
- package/src/components/wt-indicator/_variables.scss +14 -19
- package/src/components/wt-indicator/wt-indicator.vue +26 -27
- package/src/components/wt-input/wt-input.vue +200 -219
- package/src/components/wt-input-info/wt-input-info.vue +2 -2
- package/src/components/wt-item-link/wt-item-link.vue +1 -1
- package/src/components/wt-label/_variables.scss +4 -2
- package/src/components/wt-label/wt-label.vue +5 -18
- package/src/components/wt-load-bar/wt-load-bar.vue +7 -4
- package/src/components/wt-loader/_internals/wt-loader--md.vue +11 -2
- package/src/components/wt-loader/_internals/wt-loader--sm.vue +9 -2
- package/src/components/wt-loader/_variables.scss +2 -2
- package/src/components/wt-loader/wt-loader.vue +10 -3
- package/src/components/wt-navigation-bar/wt-navigation-bar.vue +17 -9
- package/src/components/wt-notification/wt-notification.vue +4 -4
- package/src/components/wt-notifications-bar/wt-notifications-bar.vue +9 -5
- package/src/components/wt-page-header/wt-page-header.vue +7 -8
- package/src/components/wt-page-wrapper/wt-page-wrapper.vue +8 -5
- package/src/components/wt-pagination/wt-pagination.vue +17 -15
- package/src/components/wt-player/__tests__/WtPlayer.spec.js +1 -1
- package/src/components/wt-player/_variables.scss +1 -1
- package/src/components/wt-player/wt-player.vue +17 -17
- package/src/components/wt-popup/_variables.scss +4 -3
- package/src/components/wt-popup/wt-popup.vue +18 -10
- package/src/components/wt-progress-bar/_variables.scss +10 -8
- package/src/components/wt-progress-bar/wt-progress-bar.vue +27 -18
- package/src/components/wt-radio/wt-radio.vue +26 -54
- package/src/components/wt-rounded-action/_variables.scss +4 -35
- package/src/components/wt-rounded-action/wt-rounded-action.vue +15 -70
- package/src/components/wt-search-bar/__tests__/WtSearchBar.spec.js +1 -1
- package/src/components/wt-search-bar/wt-search-bar.vue +18 -42
- package/src/components/wt-select/_multiselect.scss +48 -53
- package/src/components/wt-select/_variables.scss +0 -3
- package/src/components/wt-select/mixins/multiselectMixin.js +9 -1
- package/src/components/wt-select/wt-select.vue +41 -40
- package/src/components/wt-slider/_variables.scss +6 -0
- package/src/components/wt-slider/wt-slider.vue +25 -9
- package/src/components/wt-status-select/_variables.scss +7 -4
- package/src/components/wt-status-select/wt-status-select.vue +18 -12
- package/src/components/wt-stepper/_variables.scss +5 -0
- package/src/components/wt-stepper/wt-stepper.vue +15 -9
- package/src/components/wt-switcher/_variables.scss +30 -7
- package/src/components/wt-switcher/wt-switcher.vue +56 -35
- package/src/components/wt-table/_variables.scss +8 -5
- package/src/components/wt-table/wt-table.vue +123 -90
- package/src/components/wt-table-actions/wt-table-actions.vue +14 -14
- package/src/components/wt-table-column-select/wt-table-column-select.vue +33 -28
- package/src/components/wt-tabs/_variables.scss +4 -4
- package/src/components/wt-tabs/wt-tabs.vue +15 -13
- package/src/components/wt-tags-input/wt-tags-input.vue +26 -35
- package/src/components/wt-textarea/wt-textarea.vue +37 -54
- package/src/components/wt-time-input/wt-time-input.vue +24 -54
- package/src/components/wt-timepicker/wt-timepicker.vue +19 -27
- package/src/components/wt-tooltip/__tests__/WtTooltip.spec.js +0 -10
- package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +2 -2
- package/src/components/wt-tooltip/_variables.scss +2 -4
- package/src/components/wt-tooltip/wt-tooltip.vue +6 -18
- package/src/composables/useCachedInterval/__tests__/useCachedInterval.spec.js +5 -5
- package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +1 -1
- package/src/composables/useRepresentableAgentPauseCause/useRepresentableAgentPauseCause.js +1 -1
- package/src/css/styleguide/colors/_colors.scss +45 -29
- package/src/css/styleguide/colors/reusable/_text-field.scss +36 -0
- package/src/css/styleguide/placeholder/_placeholder.scss +9 -9
- package/src/enums/WebitelApplications/AdminSections.enum.js +2 -1
- package/src/locale/en/en.js +11 -3
- package/src/locale/es/es.js +2 -0
- package/src/locale/i18n.js +3 -1
- package/src/locale/kz/kz.js +327 -0
- package/src/locale/ru/ru.js +11 -3
- package/src/locale/ua/ua.js +11 -3
- package/src/mixins/validationMixin/__tests__/validationMixin.spec.js +2 -2
- package/src/mixins/validationMixin/useValidation.js +19 -4
- package/src/mixins/validationMixin/validationMixin.js +1 -0
- package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +4 -4
- package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +11 -9
- package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue +6 -5
- package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +3 -3
- package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +1 -1
- package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +11 -8
- package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +8 -8
- package/src/modules/AuditForm/components/audit-form-question.vue +8 -8
- package/src/modules/AuditForm/components/audit-form.vue +6 -5
- package/src/modules/AuditForm/components/questions/options/audit-form-question-options-write-row.vue +4 -4
- package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +7 -4
- package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +3 -3
- package/src/modules/CSVExport/__tests__/CSVExport.spec.js +5 -2
- package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +77 -0
- package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +35 -17
- package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -3
- package/src/modules/FilesExport/scripts/generateMediaURL.js +1 -1
- package/src/modules/Filters/components/filter-pagination.vue +1 -1
- package/src/modules/Filters/components/filter-table-fields.vue +1 -1
- package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +6 -6
- package/src/modules/QueryFilters/classes/__tests__/ApiFilterSchema.spec.js +1 -1
- package/src/modules/QueryFilters/components/__tests__/abstract-api-filter.spec.js +7 -5
- package/src/modules/QueryFilters/components/__tests__/abstract-enum-filter.spec.js +3 -1
- package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +2 -2
- package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +4 -4
- package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +2 -2
- package/src/modules/QueryFilters/components/abstract-api-filter.vue +2 -2
- package/src/modules/QueryFilters/components/abstract-enum-filter.vue +2 -2
- package/src/modules/QueryFilters/components/filter-datetime.vue +2 -2
- package/src/modules/QueryFilters/components/filter-from-to.vue +12 -10
- package/src/modules/QueryFilters/components/filter-search.vue +2 -2
- package/src/modules/QueryFilters/components/filter-table-fields.vue +7 -7
- package/src/modules/QueryFilters/mixins/__tests__/apiFilterMixin.spec.js +1 -1
- package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +2 -2
- package/src/modules/QueryFilters/mixins/__tests__/paginationFilterMixin.spec.js +2 -2
- package/src/modules/QueryFilters/mixins/__tests__/sortFilterMixin.spec.js +1 -1
- package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +2 -2
- package/src/modules/Userinfo/classes/ApplicationsAccess.js +6 -2
- package/src/modules/Userinfo/components/__tests__/auth.spec.js +7 -8
- package/src/modules/Userinfo/components/the-auth.vue +8 -5
- package/src/scripts/debounce.js +1 -1
- package/src/scripts/saveAsJSON.js +9 -0
- package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +6 -6
- package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +48 -0
- package/src/validators/variableSearchValidator/variableSearchValidator.js +10 -0
- package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +28 -0
- package/src/validators/websocketValidator/websocketValidator.js +9 -0
- package/dist/demo.html +0 -1
- package/dist/ui-sdk.common.js +0 -43066
- package/dist/ui-sdk.common.js.map +0 -1
- package/dist/ui-sdk.umd.js.map +0 -1
- package/dist/ui-sdk.umd.min.js +0 -35
- package/dist/ui-sdk.umd.min.js.map +0 -1
- package/src/components/wt-button/Readme.md +0 -23
- package/src/components/wt-button-select/Readme.md +0 -13
- package/src/components/wt-icon/Readme.md +0 -327
- package/src/components/wt-icon/docs/cleanup-svg-fill-none.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-fill.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-viewbox-correct.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-viewbox-incorrect.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-width-height.png +0 -0
- package/src/components/wt-icon/docs/svg-icon-code-example.png +0 -0
- package/src/components/wt-icon/docs/svg-sprite-in-dom.png +0 -0
- package/src/components/wt-icon-btn/Readme.md +0 -10
- package/src/components/wt-rounded-action/Readme.md +0 -68
- package/src/components/wt-tags-input/_variables.scss +0 -24
- package/src/locale/.DS_Store +0 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
|
+
class="wt-timepicker"
|
|
4
|
+
:class="{'wt-timepicker--invalid': invalid}"
|
|
5
|
+
>
|
|
3
6
|
<wt-label
|
|
4
|
-
v-bind="labelProps"
|
|
5
7
|
v-if="label"
|
|
8
|
+
v-bind="labelProps"
|
|
6
9
|
:invalid="invalid"
|
|
7
10
|
>
|
|
8
11
|
{{ `${label} (${format})` }}
|
|
@@ -13,36 +16,37 @@
|
|
|
13
16
|
:value="hour"
|
|
14
17
|
:v="v"
|
|
15
18
|
:label="label ? null : $t('webitelUI.timepicker.hour') "
|
|
16
|
-
:
|
|
19
|
+
:max-value="dateMode ? null : 23"
|
|
17
20
|
:disabled="disabled"
|
|
18
21
|
hide-input-info
|
|
19
22
|
@input="hour = $event"
|
|
20
|
-
|
|
23
|
+
/>
|
|
21
24
|
<wt-time-input
|
|
22
25
|
v-if="isMin"
|
|
23
26
|
:value="min"
|
|
24
27
|
:v="v"
|
|
25
28
|
:label="label ? null : $t('webitelUI.timepicker.min')"
|
|
26
|
-
:
|
|
29
|
+
:max-value="59"
|
|
27
30
|
:disabled="disabled"
|
|
28
31
|
hide-input-info
|
|
29
32
|
@input="min = $event"
|
|
30
|
-
|
|
33
|
+
/>
|
|
31
34
|
<wt-time-input
|
|
32
35
|
v-if="isSec"
|
|
33
36
|
:value="sec"
|
|
34
37
|
:v="v"
|
|
35
|
-
:label="label ? null :
|
|
36
|
-
:
|
|
38
|
+
:label="label ? null : $t('webitelUI.timepicker.sec')"
|
|
39
|
+
:max-value="59"
|
|
37
40
|
:disabled="disabled"
|
|
38
41
|
hide-input-info
|
|
39
42
|
@input="sec = $event"
|
|
40
|
-
|
|
43
|
+
/>
|
|
41
44
|
</div>
|
|
42
45
|
<wt-input-info
|
|
43
46
|
v-if="isValidation"
|
|
44
47
|
:invalid="invalid"
|
|
45
|
-
>
|
|
48
|
+
>
|
|
49
|
+
{{ validationText }}
|
|
46
50
|
</wt-input-info>
|
|
47
51
|
</div>
|
|
48
52
|
</template>
|
|
@@ -54,8 +58,12 @@ const SEC_IN_HOUR = 60 * 60;
|
|
|
54
58
|
const SEC_IN_MIN = 60;
|
|
55
59
|
|
|
56
60
|
export default {
|
|
57
|
-
name: '
|
|
61
|
+
name: 'WtTimepicker',
|
|
58
62
|
mixins: [validationMixin],
|
|
63
|
+
model: {
|
|
64
|
+
prop: 'value',
|
|
65
|
+
event: 'input',
|
|
66
|
+
},
|
|
59
67
|
props: {
|
|
60
68
|
value: {
|
|
61
69
|
type: [String, Number],
|
|
@@ -82,10 +90,6 @@ export default {
|
|
|
82
90
|
description: 'Object with props, passed down to wt-label as props',
|
|
83
91
|
},
|
|
84
92
|
},
|
|
85
|
-
model: {
|
|
86
|
-
prop: 'value',
|
|
87
|
-
event: 'input',
|
|
88
|
-
},
|
|
89
93
|
|
|
90
94
|
computed: {
|
|
91
95
|
isHour() {
|
|
@@ -153,18 +157,6 @@ export default {
|
|
|
153
157
|
flex-direction: column;
|
|
154
158
|
}
|
|
155
159
|
|
|
156
|
-
.wt-label {
|
|
157
|
-
.wt-timepicker:hover &,
|
|
158
|
-
.wt-timepicker:focus-within & {
|
|
159
|
-
color: var(--form-label--hover-color);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
.wt-timepicker--invalid:hover &,
|
|
163
|
-
.wt-timepicker--invalid:focus-within & {
|
|
164
|
-
color: var(--label--invalid-color);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
160
|
.wt-timepicker__wrapper {
|
|
169
161
|
display: flex;
|
|
170
162
|
}
|
|
@@ -17,14 +17,4 @@ describe('WtTooltip', () => {
|
|
|
17
17
|
});
|
|
18
18
|
expect(wrapper.find('.wt-tooltip').text()).toEqual(content);
|
|
19
19
|
});
|
|
20
|
-
|
|
21
|
-
it('changed tooltip color, if prop is passed', () => {
|
|
22
|
-
const wrapper = shallowMount(WtTooltip, {
|
|
23
|
-
props: {
|
|
24
|
-
contrast: true,
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
expect(wrapper.find('.wt-tooltip').classes())
|
|
28
|
-
.toContain('wt-tooltip--contrast');
|
|
29
|
-
});
|
|
30
20
|
});
|
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
:root {
|
|
3
3
|
--tooltip-padding: var(--spacing-2xs) var(--spacing-xs);
|
|
4
4
|
|
|
5
|
-
--tooltip-
|
|
6
|
-
--tooltip-
|
|
7
|
-
--tooltip-dark-text-color: var(--text-contrast-color);
|
|
8
|
-
--tooltip-dark-bg-color: var(--contrast-color);
|
|
5
|
+
--wt-tooltip-text-color: var(--text-main-color);
|
|
6
|
+
--wt-tooltip-background-color: var(--dp-24-surface-color);
|
|
9
7
|
|
|
10
8
|
--tooltip-elevation: var(--elevation-10);
|
|
11
9
|
}
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
:class="{
|
|
4
|
-
'wt-tooltip--contrast': contrast,
|
|
5
4
|
'wt-tooltip--visible': isVisible,
|
|
6
|
-
|
|
5
|
+
}"
|
|
7
6
|
class="wt-tooltip"
|
|
8
7
|
>
|
|
9
8
|
<div
|
|
10
9
|
ref="activator"
|
|
11
10
|
class="wt-tooltip__activator"
|
|
12
11
|
>
|
|
13
|
-
<slot name="activator"
|
|
12
|
+
<slot name="activator" />
|
|
14
13
|
</div>
|
|
15
14
|
<wt-tooltip-floating
|
|
16
15
|
v-if="isVisible"
|
|
17
16
|
ref="floating"
|
|
18
|
-
class="wt-tooltip__floating"
|
|
19
17
|
v-clickaway="hideTooltip"
|
|
18
|
+
class="wt-tooltip__floating"
|
|
20
19
|
:class="[popperClass]"
|
|
21
20
|
:style="floatingStyles"
|
|
22
21
|
:triggers="popperTriggers"
|
|
23
22
|
@show="showTooltip"
|
|
24
23
|
@hide="hideTooltip"
|
|
25
24
|
>
|
|
26
|
-
<slot v-bind="{ hide: hideTooltip }"
|
|
25
|
+
<slot v-bind="{ hide: hideTooltip }" />
|
|
27
26
|
</wt-tooltip-floating>
|
|
28
27
|
</div>
|
|
29
28
|
</template>
|
|
@@ -43,10 +42,6 @@ const props = defineProps({
|
|
|
43
42
|
type: Boolean,
|
|
44
43
|
default: false,
|
|
45
44
|
},
|
|
46
|
-
contrast: {
|
|
47
|
-
type: Boolean,
|
|
48
|
-
default: false,
|
|
49
|
-
},
|
|
50
45
|
placement: {
|
|
51
46
|
type: String,
|
|
52
47
|
default: 'auto',
|
|
@@ -133,18 +128,11 @@ onMounted(() => {
|
|
|
133
128
|
.wt-tooltip-floating {
|
|
134
129
|
@extend %typo-body-2;
|
|
135
130
|
padding: var(--spacing-2xs) var(--spacing-xs);
|
|
136
|
-
color: var(--
|
|
137
|
-
background: var(--
|
|
131
|
+
color: var(--wt-tooltip-text-color);
|
|
132
|
+
background: var(--wt-tooltip-background-color);
|
|
138
133
|
border-radius: var(--border-radius);
|
|
139
134
|
box-shadow: var(--elevation-10);
|
|
140
135
|
z-index: 1000;
|
|
141
136
|
}
|
|
142
|
-
|
|
143
|
-
&--contrast {
|
|
144
|
-
.wt-tooltip-floating {
|
|
145
|
-
color: var(--main-color);
|
|
146
|
-
background: var(--contrast-color);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
137
|
}
|
|
150
138
|
</style>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { useCachedInterval } from '../useCachedInterval';
|
|
2
2
|
|
|
3
3
|
describe('useCachedInterval', () => {
|
|
4
|
-
it('subscribe', (
|
|
5
|
-
const callback =
|
|
4
|
+
it('subscribe', async () => {
|
|
5
|
+
const callback = vi.fn();
|
|
6
6
|
const { subscribe } = useCachedInterval({ timeout: 10 });
|
|
7
7
|
subscribe(callback);
|
|
8
8
|
expect(callback).toHaveBeenCalledTimes(1);
|
|
9
|
-
setTimeout(() => {
|
|
9
|
+
return await new Promise((resolve, reject) => setTimeout(() => {
|
|
10
10
|
expect(callback).toHaveBeenCalledTimes(2);
|
|
11
|
-
|
|
12
|
-
}, 10);
|
|
11
|
+
resolve();
|
|
12
|
+
}, 10));
|
|
13
13
|
});
|
|
14
14
|
});
|
|
@@ -54,7 +54,7 @@ describe('useRepresentableAgentPauseCause', () => {
|
|
|
54
54
|
const {
|
|
55
55
|
representablePauseCause,
|
|
56
56
|
} = useRepresentableAgentPauseCause(pauseCauses);
|
|
57
|
-
expect(representablePauseCause.value[0].progressColor).toBe('
|
|
57
|
+
expect(representablePauseCause.value[0].progressColor).toBe('error');
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
it('correctly computes progressColor with duration < limit', () => {
|
|
@@ -18,7 +18,7 @@ const duration = ({ durationMin, limitMin }) => {
|
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
const pauseCauseProgressColor = ({ durationMin, limitMin }) => {
|
|
21
|
-
if (isDurationOverflow({ durationMin, limitMin })) return '
|
|
21
|
+
if (isDurationOverflow({ durationMin, limitMin })) return 'error';
|
|
22
22
|
if (durationMin <= (limitMin * 0.75)) return 'success';
|
|
23
23
|
return 'primary';
|
|
24
24
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@import './deprecated';
|
|
2
2
|
@import './palette';
|
|
3
|
+
@import './reusable/text-field';
|
|
3
4
|
|
|
4
5
|
:root {
|
|
5
6
|
// dp colors
|
|
@@ -28,68 +29,77 @@
|
|
|
28
29
|
--dp-2-surface-color: hsl(225, 20%, 78%);
|
|
29
30
|
--dp-1-surface-color: hsl(225, 20%, 77%);
|
|
30
31
|
|
|
32
|
+
// content wrapper
|
|
33
|
+
--content-wrapper-color: var(--dp-24-surface-color);
|
|
34
|
+
|
|
31
35
|
// success colors
|
|
32
36
|
--success-color: var(--green-darken-4);
|
|
33
37
|
--success-hover-color: var(--green-darken-3);
|
|
34
38
|
--success-light-color: var(--green-lighten-4);
|
|
35
|
-
--on-
|
|
39
|
+
--success-on-color: var(--white);
|
|
36
40
|
|
|
37
41
|
// warning colors
|
|
38
42
|
--warning-color: var(--orange-accent-2);
|
|
39
43
|
--warning-hover-color: var(--orange-accent-1);
|
|
40
44
|
--warning-light-color: var(--orange-lighten-4);
|
|
41
|
-
--on-
|
|
45
|
+
--warning-on-color: var(--black);
|
|
42
46
|
|
|
43
47
|
// error colors
|
|
44
48
|
--error-color: var(--red-accent-2);
|
|
45
49
|
--error-hover-color: var(--red-lighten-2);
|
|
46
50
|
--error-light-color: var(--red-lighten-4);
|
|
47
|
-
--on-
|
|
51
|
+
--error-on-color: var(--white);
|
|
48
52
|
|
|
49
53
|
// info colors
|
|
50
54
|
--info-color: var(--blue-darken-1);
|
|
51
55
|
--info-hover-color: var(--blue-lighten-1);
|
|
52
56
|
--info-light-color: var(--blue-lighten-4);
|
|
53
|
-
--on-
|
|
57
|
+
--info-on-color: var(--black);
|
|
54
58
|
|
|
55
59
|
// job colors
|
|
56
60
|
--job-color: var(--blue-darken-1);
|
|
57
61
|
--job-hover-color: var(--blue-lighten-1);
|
|
58
62
|
--job-light-color: var(--blue-lighten-4);
|
|
59
|
-
--on-
|
|
63
|
+
--job-on-color: var(--black);
|
|
60
64
|
|
|
61
65
|
// chat colors
|
|
62
66
|
--chat-color: var(--indigo-accent-2);
|
|
63
67
|
--chat-hover-color: var(--indigo-accent-2);
|
|
64
68
|
--chat-light-color: var(--indigo-lighten-4);
|
|
65
|
-
--on-
|
|
69
|
+
--chat-on-color: var(--black);
|
|
66
70
|
|
|
67
71
|
// transfer colors
|
|
68
|
-
--transfer-color: var(--indigo-
|
|
69
|
-
--transfer-hover-color: var(--indigo-lighten-
|
|
72
|
+
--transfer-color: var(--indigo-lighten-1);
|
|
73
|
+
--transfer-hover-color: var(--indigo-lighten-2);
|
|
70
74
|
--transfer-light-color: var(--indigo-lighten-4);
|
|
71
|
-
--on-
|
|
75
|
+
--transfer-on-color: var(--white);
|
|
72
76
|
|
|
73
77
|
// primary colors
|
|
74
|
-
--primary-color: var(--amber-accent-
|
|
75
|
-
--primary-hover-color: var(--amber-accent-
|
|
78
|
+
--primary-color: var(--amber-accent-3);
|
|
79
|
+
--primary-hover-color: var(--amber-accent-2);
|
|
76
80
|
--primary-light-color: var(--amber-lighten-4);
|
|
77
|
-
--on-
|
|
81
|
+
--primary-on-color: var(--black);
|
|
82
|
+
|
|
83
|
+
// secondary colors
|
|
84
|
+
--secondary-color: var(--dp-10-surface-color);
|
|
85
|
+
--secondary-hover-color: var(--dp-14-surface-color);
|
|
86
|
+
--secondary-light-color: var(--dp-16-surface-color);
|
|
87
|
+
--secondary-on-color: var(--grey-darken-4);
|
|
78
88
|
|
|
79
89
|
// accent colors
|
|
80
90
|
--accent-color: var(--purple-lighten-1);
|
|
81
91
|
--sub-accent-color: var(--indigo-darken-3);
|
|
82
92
|
|
|
83
93
|
// typography colors
|
|
84
|
-
--main-
|
|
85
|
-
--
|
|
86
|
-
--
|
|
87
|
-
--link-color: var(--info-color);
|
|
94
|
+
--text-main-color: var(--grey-darken-3);
|
|
95
|
+
--text-disabled-color: var(--grey-lighten-1);
|
|
96
|
+
--text-error-color: var(--error-color);
|
|
97
|
+
--text-link-color: var(--info-color);
|
|
88
98
|
}
|
|
89
99
|
|
|
90
100
|
:root.theme--dark {
|
|
91
101
|
// dp colors
|
|
92
|
-
--dp-24-surface-color: hsl(
|
|
102
|
+
--dp-24-surface-color: hsl(225, 20%, 25%);
|
|
93
103
|
--dp-23-surface-color: hsl(225, 20%, 24%);
|
|
94
104
|
--dp-22-surface-color: hsl(225, 20%, 23%);
|
|
95
105
|
--dp-21-surface-color: hsl(225, 20%, 22%);
|
|
@@ -114,61 +124,67 @@
|
|
|
114
124
|
--dp-2-surface-color: hsl(225, 20%, 3%);
|
|
115
125
|
--dp-1-surface-color: hsl(225, 20%, 2%);
|
|
116
126
|
|
|
127
|
+
// content wrapper
|
|
128
|
+
--content-wrapper-color: var(--dp-24-surface-color);
|
|
129
|
+
|
|
117
130
|
// success colors
|
|
118
131
|
--success-color: var(--green-darken-4);
|
|
119
132
|
--success-hover-color: var(--green-darken-3);
|
|
120
133
|
--success-light-color: var(--green-lighten-3);
|
|
121
|
-
--on-
|
|
134
|
+
--success-on-color: var(--black);
|
|
122
135
|
|
|
123
136
|
// warning colors
|
|
124
137
|
--warning-color: var(--orange-accent-2);
|
|
125
138
|
--warning-hover-color: var(--orange-accent-1);
|
|
126
139
|
--warning-light-color: var(--orange-lighten-3);
|
|
127
|
-
--on-
|
|
140
|
+
--warning-on-color: var(--black);
|
|
128
141
|
|
|
129
142
|
// error colors
|
|
130
143
|
--error-color: var(--red-accent-2);
|
|
131
144
|
--error-hover-color: var(--red-lighten-2);
|
|
132
145
|
--error-light-color: var(--red-lighten-3);
|
|
133
|
-
--on-
|
|
146
|
+
--error-on-color: var(--black);
|
|
134
147
|
|
|
135
148
|
// info colors
|
|
136
149
|
--info-color: var(--blue-darken-1);
|
|
137
150
|
--info-hover-color: var(--blue-lighten-1);
|
|
138
151
|
--info-light-color: var(--blue-lighten-3);
|
|
139
|
-
--on-
|
|
152
|
+
--info-on-color: var(--white);
|
|
140
153
|
|
|
141
154
|
// job colors
|
|
142
155
|
--job-color: var(--blue-darken-1);
|
|
143
156
|
--job-hover-color: var(--blue-lighten-1);
|
|
144
157
|
--job-light-color: var(--blue-lighten-3);
|
|
145
|
-
--on-
|
|
158
|
+
--job-on-color: var(--white);
|
|
146
159
|
|
|
147
160
|
// chat colors
|
|
148
161
|
--chat-color: var(--indigo-accent-2);
|
|
149
162
|
--chat-hover-color: var(--indigo-accent-2);
|
|
150
163
|
--chat-light-color: var(--indigo-lighten-3);
|
|
151
|
-
--on-
|
|
164
|
+
--chat-on-color: var(--white);
|
|
152
165
|
|
|
153
166
|
// transfer colors
|
|
154
167
|
--transfer-color: var(--indigo-darken-1);
|
|
155
168
|
--transfer-hover-color: var(--indigo-lighten-1);
|
|
156
169
|
--transfer-light-color: var(--indigo-lighten-4);
|
|
157
|
-
--on-
|
|
170
|
+
--transfer-on-color: var(--white);
|
|
158
171
|
|
|
159
172
|
// primary colors
|
|
160
173
|
--primary-color: var(--amber-accent-2);
|
|
161
174
|
--primary-hover-color: var(--amber-accent-3);
|
|
162
175
|
--primary-light-color: var(--amber-lighten-4);
|
|
163
|
-
--on-
|
|
176
|
+
--primary-on-color: var(--black);
|
|
177
|
+
|
|
178
|
+
// secondary colors
|
|
179
|
+
--secondary-on-color: var(--grey-lighten-4);
|
|
164
180
|
|
|
165
181
|
// accent colors
|
|
166
182
|
--accent-color: var(--purple-lighten-1);
|
|
167
183
|
--sub-accent-color: var(--indigo-darken-3);
|
|
168
184
|
|
|
169
185
|
// typography colors
|
|
170
|
-
--main-
|
|
171
|
-
--
|
|
172
|
-
--
|
|
173
|
-
--link-color: var(--info-color);
|
|
186
|
+
--text-main-color: var(--grey-lighten-3);
|
|
187
|
+
--text-disabled-color: var(--grey-darken-1);
|
|
188
|
+
--text-error-color: var(--error-color);
|
|
189
|
+
--text-link-color: var(--info-color);
|
|
174
190
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// shared text field colors
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
// TODO: move to separate helper-text component
|
|
5
|
+
// helper
|
|
6
|
+
--wt-helper-text-color: var(--text-main-color);
|
|
7
|
+
--wt-helper-text-disabled-color: var(--text-disabled-color);
|
|
8
|
+
|
|
9
|
+
// placeholder
|
|
10
|
+
--wt-text-field-error-text-color: var(--error-color);
|
|
11
|
+
--wt-text-field-placeholder-color: var(--text-main-color);
|
|
12
|
+
--wt-text-field-placeholder-error-color: var(--error-color);
|
|
13
|
+
--wt-text-field-placeholder-disabled-color: var(--text-disabled-color);
|
|
14
|
+
|
|
15
|
+
// border
|
|
16
|
+
--wt-text-field-input-border-color: var(--grey-darken-1);
|
|
17
|
+
--wt-text-field-input-border-disabled-color: var(--dp-16-surface-color);
|
|
18
|
+
--wt-text-field-input-border-error-color: var(--error-color);
|
|
19
|
+
|
|
20
|
+
// input bg
|
|
21
|
+
--wt-text-field-input-background-disabled-color: var(--dp-16-surface-color);
|
|
22
|
+
|
|
23
|
+
// select
|
|
24
|
+
--wt-text-field-select-option-text-color: var(--text-main-color);
|
|
25
|
+
--wt-text-field-select-option-text-hover-color: var(--primary-on-color);
|
|
26
|
+
--wt-text-field-select-option-text-selected-color: var(--primary-on-color);
|
|
27
|
+
|
|
28
|
+
--wt-text-field-select-option-wrapper-border-color: var(--dp-22-surface-color);
|
|
29
|
+
--wt-text-field-select-option-background-color: var(--dp-22-surface-color);
|
|
30
|
+
--wt-text-field-select-option-background-hover-color: var(--primary-light-color);
|
|
31
|
+
--wt-text-field-select-option-background-selected-color: var(--primary-color);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:root.theme--dark {
|
|
35
|
+
--wt-text-field-input-border-color: var(--grey-lighten-1);
|
|
36
|
+
}
|
|
@@ -15,12 +15,12 @@ $vendors: (':-webkit', '-moz', ':-moz', '-ms');
|
|
|
15
15
|
font: inherit;
|
|
16
16
|
transition: var(--transition);
|
|
17
17
|
|
|
18
|
-
@if ($style == '
|
|
19
|
-
color: var(--
|
|
18
|
+
@if ($style == 'error') {
|
|
19
|
+
color: var(--wt-text-field-placeholder-error-color);
|
|
20
20
|
} @else if ($style == 'disabled') {
|
|
21
|
-
color: var(--
|
|
21
|
+
color: var(--wt-text-field-placeholder-disabled-color);
|
|
22
22
|
} @else {
|
|
23
|
-
color: var(--
|
|
23
|
+
color: var(--wt-text-field-placeholder-color);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
@content;
|
|
@@ -35,15 +35,15 @@ $vendors: (':-webkit', '-moz', ':-moz', '-ms');
|
|
|
35
35
|
%wt-placeholder {
|
|
36
36
|
font: inherit;
|
|
37
37
|
transition: var(--transition);
|
|
38
|
-
color: var(--
|
|
38
|
+
color: var(--wt-text-field-placeholder-color);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
%wt-placeholder--
|
|
41
|
+
%wt-placeholder--disabled {
|
|
42
42
|
@extend %wt-placeholder;
|
|
43
|
-
color: var(--
|
|
43
|
+
color: var(--wt-text-field-placeholder-disabled-color);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
%wt-placeholder--
|
|
46
|
+
%wt-placeholder--error {
|
|
47
47
|
@extend %wt-placeholder;
|
|
48
|
-
color: var(--
|
|
48
|
+
color: var(--wt-text-field-placeholder-error-color);
|
|
49
49
|
}
|
|
@@ -35,6 +35,7 @@ const AdminSections = Object.freeze({
|
|
|
35
35
|
STORAGE: 'storage', // scope: storage_profile
|
|
36
36
|
COGNITIVE_PROFILES: 'cognitive-profiles', // scope: cognitive_profile
|
|
37
37
|
EMAIL_PROFILES: 'email-profiles', // scope: email_profile
|
|
38
|
+
SINGLE_SIGN_ON: 'single-sign-on', // scope: single-sign-on
|
|
38
39
|
IMPORT_CSV: 'import-csv',
|
|
39
40
|
TRIGGERS: 'triggers',
|
|
40
41
|
|
|
@@ -44,7 +45,7 @@ const AdminSections = Object.freeze({
|
|
|
44
45
|
|
|
45
46
|
// SYSTEM
|
|
46
47
|
CHANGELOGS: 'changelogs',
|
|
47
|
-
|
|
48
|
+
CONFIGURATION: 'configuration',
|
|
48
49
|
});
|
|
49
50
|
|
|
50
51
|
export default AdminSections;
|
package/src/locale/en/en.js
CHANGED
|
@@ -44,6 +44,7 @@ export default {
|
|
|
44
44
|
es: 'Español',
|
|
45
45
|
ru: 'Русский',
|
|
46
46
|
ua: 'Українська',
|
|
47
|
+
kz: 'Қазақ',
|
|
47
48
|
},
|
|
48
49
|
from: 'From',
|
|
49
50
|
to: 'To',
|
|
@@ -223,13 +224,14 @@ export default {
|
|
|
223
224
|
[AdminSections.STORAGE]: 'Storage',
|
|
224
225
|
[AdminSections.COGNITIVE_PROFILES]: 'Cognitive profiles',
|
|
225
226
|
[AdminSections.EMAIL_PROFILES]: 'Email profiles',
|
|
227
|
+
[AdminSections.SINGLE_SIGN_ON]: 'Single Sign-on',
|
|
226
228
|
[AdminSections.IMPORT_CSV]: 'Imports of CSV from file',
|
|
227
229
|
[AdminSections.TRIGGERS]: 'Triggers',
|
|
228
230
|
[AdminSections.MEDIA]: 'Media files',
|
|
229
231
|
[AdminSections.ROLES]: 'Roles',
|
|
230
232
|
[AdminSections.OBJECTS]: 'Objects',
|
|
231
233
|
[AdminSections.CHANGELOGS]: 'Change log',
|
|
232
|
-
[AdminSections.
|
|
234
|
+
[AdminSections.CONFIGURATION]: 'Configuration',
|
|
233
235
|
},
|
|
234
236
|
},
|
|
235
237
|
},
|
|
@@ -247,6 +249,7 @@ export default {
|
|
|
247
249
|
requiredArrayValue: 'Array should not be empty',
|
|
248
250
|
minLength: 'Quantity of characters should not be less than',
|
|
249
251
|
url: 'Should look like url',
|
|
252
|
+
websocketValidator: 'Should look like WebSocket url',
|
|
250
253
|
regExpValidator: 'This regular expression is not valid',
|
|
251
254
|
domainValidator: 'Incorrect domain',
|
|
252
255
|
decimalValidator: 'Decimal precision should be no more than { count } places',
|
|
@@ -256,6 +259,7 @@ export default {
|
|
|
256
259
|
searchBar: {
|
|
257
260
|
placeholder: 'Search',
|
|
258
261
|
settingsHint: 'Search mode',
|
|
262
|
+
variableSearchHint: 'Query format: "key=value"',
|
|
259
263
|
},
|
|
260
264
|
timepicker: {
|
|
261
265
|
hour: 'Hour:',
|
|
@@ -338,8 +342,7 @@ export default {
|
|
|
338
342
|
},
|
|
339
343
|
deleteConfirmationPopup: {
|
|
340
344
|
title: 'Confirm deletion',
|
|
341
|
-
askingAlert: 'Are you sure you want to delete {count}
|
|
342
|
-
undoneActionAlert: 'This action cannot be undone.',
|
|
345
|
+
askingAlert: 'Are you sure you want\n to delete {count} record? | Are you sure you want\n to delete {count} records?',
|
|
343
346
|
deleteAll: 'ALL',
|
|
344
347
|
},
|
|
345
348
|
dummy: {
|
|
@@ -356,5 +359,10 @@ export default {
|
|
|
356
359
|
message: 'The limit for agents to take a pause has been exceeded. The pause is unavailable right now.',
|
|
357
360
|
},
|
|
358
361
|
},
|
|
362
|
+
saveFailedPopup: {
|
|
363
|
+
title: 'Save failed',
|
|
364
|
+
label: 'Something went wrong, please try again',
|
|
365
|
+
exportToJson: 'Export to JSON',
|
|
366
|
+
},
|
|
359
367
|
},
|
|
360
368
|
};
|
package/src/locale/es/es.js
CHANGED
|
@@ -39,6 +39,7 @@ export default {
|
|
|
39
39
|
es: 'Español',
|
|
40
40
|
ru: 'Русский',
|
|
41
41
|
ua: 'Українська',
|
|
42
|
+
kz: 'Қазақ',
|
|
42
43
|
},
|
|
43
44
|
from: 'De',
|
|
44
45
|
to: 'Hasta',
|
|
@@ -188,6 +189,7 @@ export default {
|
|
|
188
189
|
[AdminSections.STORAGE]: 'Almacenamiento',
|
|
189
190
|
[AdminSections.COGNITIVE_PROFILES]: 'Perfiles de voz',
|
|
190
191
|
[AdminSections.EMAIL_PROFILES]: 'Perfiles de correo electrónico',
|
|
192
|
+
[AdminSections.SINGLE_SIGN_ON]: 'Single Sign-on',
|
|
191
193
|
[AdminSections.IMPORT_CSV]: 'Importación de datos de archivos CSV',
|
|
192
194
|
[AdminSections.TRIGGERS]: 'Activadores',
|
|
193
195
|
[AdminSections.ROLES]: 'Funciones',
|
package/src/locale/i18n.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createI18n } from 'vue-i18n';
|
|
2
2
|
import en from './en/en';
|
|
3
3
|
import es from './es/es';
|
|
4
|
+
import kz from './kz/kz';
|
|
4
5
|
import ru from './ru/ru';
|
|
5
6
|
import ua from './ua/ua';
|
|
6
7
|
|
|
@@ -9,10 +10,11 @@ const messages = {
|
|
|
9
10
|
es,
|
|
10
11
|
ru,
|
|
11
12
|
ua,
|
|
13
|
+
kz,
|
|
12
14
|
};
|
|
13
15
|
|
|
14
16
|
// eslint-disable-next-line new-cap
|
|
15
|
-
export default
|
|
17
|
+
export default createI18n({
|
|
16
18
|
// legacy: false,
|
|
17
19
|
locale: 'en',
|
|
18
20
|
allowComposition: true,
|