@webitel/ui-sdk 23.12.2 → 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.
Files changed (191) hide show
  1. package/dist/favicon.ico +0 -0
  2. package/dist/img/sprite/index.js +148 -1
  3. package/dist/img/sprite/link.svg +8 -0
  4. package/dist/img/sprite/variable-select.svg +9 -0
  5. package/dist/plyr.svg +70 -0
  6. package/dist/ui-sdk.css +1 -1
  7. package/dist/ui-sdk.mjs +22670 -0
  8. package/dist/ui-sdk.umd.js +37 -43084
  9. package/package.json +34 -40
  10. package/src/api/axios/generateInstance.js +1 -1
  11. package/src/components/on-demand/wt-cc-agent-status-timers/wt-cc-agent-status-timers.vue +3 -3
  12. package/src/components/on-demand/wt-save-failed-popup/__tests__/WtPopup.spec.js +9 -0
  13. package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +70 -0
  14. package/src/components/transitions/wt-expand-transition.vue +2 -2
  15. package/src/components/wt-app-header/_variables.scss +1 -1
  16. package/src/components/wt-app-header/wt-app-header.vue +2 -5
  17. package/src/components/wt-app-header/wt-app-navigator.vue +6 -5
  18. package/src/components/wt-app-header/wt-header-actions.vue +30 -14
  19. package/src/components/wt-avatar/_variables.scss +1 -1
  20. package/src/components/wt-avatar/wt-avatar.vue +2 -2
  21. package/src/components/wt-badge/wt-badge.vue +3 -3
  22. package/src/components/wt-button/_variables.scss +2 -32
  23. package/src/components/wt-button/wt-button.vue +5 -3
  24. package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +9 -8
  25. package/src/components/wt-button-select/wt-button-select.vue +58 -59
  26. package/src/components/wt-checkbox/wt-checkbox.vue +15 -48
  27. package/src/components/wt-chip/_variables.scss +21 -2
  28. package/src/components/wt-chip/wt-chip.scss +20 -17
  29. package/src/components/wt-chip/wt-chip.vue +10 -5
  30. package/src/components/wt-context-menu/wt-context-menu.vue +4 -4
  31. package/src/components/wt-copy-action/wt-copy-action.vue +6 -6
  32. package/src/components/wt-datepicker/_variables.scss +1 -1
  33. package/src/components/wt-datepicker/wt-datepicker.vue +14 -12
  34. package/src/components/wt-divider/wt-divider.vue +1 -1
  35. package/src/components/wt-dummy/wt-dummy.vue +6 -2
  36. package/src/components/wt-error-page/wt-error-page.vue +10 -4
  37. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +4 -4
  38. package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +7 -4
  39. package/src/components/wt-headline/wt-headline.vue +4 -4
  40. package/src/components/wt-headline-nav/_variables.scss +5 -2
  41. package/src/components/wt-headline-nav/wt-headline-nav.vue +46 -33
  42. package/src/components/wt-hint/wt-hint.vue +5 -6
  43. package/src/components/wt-icon/_variables.scss +5 -10
  44. package/src/components/wt-icon/wt-icon.vue +15 -6
  45. package/src/components/wt-icon-action/_internals/wt-add-icon-action.vue +2 -2
  46. package/src/components/wt-icon-action/_internals/wt-delete-icon-action.vue +2 -2
  47. package/src/components/wt-icon-action/_internals/wt-download-icon-action.vue +2 -2
  48. package/src/components/wt-icon-action/_internals/wt-edit-icon-action.vue +2 -2
  49. package/src/components/wt-icon-action/_internals/wt-history-icon-action.vue +2 -2
  50. package/src/components/wt-icon-action/_internals/wt-refresh-icon-action.vue +2 -2
  51. package/src/components/wt-icon-action/wt-icon-action.vue +1 -1
  52. package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -2
  53. package/src/components/wt-indicator/_variables.scss +14 -19
  54. package/src/components/wt-indicator/wt-indicator.vue +26 -27
  55. package/src/components/wt-input/wt-input.vue +200 -219
  56. package/src/components/wt-input-info/wt-input-info.vue +2 -2
  57. package/src/components/wt-item-link/wt-item-link.vue +1 -1
  58. package/src/components/wt-label/_variables.scss +4 -2
  59. package/src/components/wt-label/wt-label.vue +5 -18
  60. package/src/components/wt-load-bar/wt-load-bar.vue +7 -4
  61. package/src/components/wt-loader/_internals/wt-loader--md.vue +11 -2
  62. package/src/components/wt-loader/_internals/wt-loader--sm.vue +9 -2
  63. package/src/components/wt-loader/_variables.scss +2 -2
  64. package/src/components/wt-loader/wt-loader.vue +10 -3
  65. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +17 -9
  66. package/src/components/wt-notification/wt-notification.vue +4 -4
  67. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +9 -5
  68. package/src/components/wt-page-header/wt-page-header.vue +7 -8
  69. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +8 -5
  70. package/src/components/wt-pagination/wt-pagination.vue +17 -15
  71. package/src/components/wt-player/__tests__/WtPlayer.spec.js +1 -1
  72. package/src/components/wt-player/_variables.scss +1 -1
  73. package/src/components/wt-player/wt-player.vue +17 -17
  74. package/src/components/wt-popup/_variables.scss +4 -3
  75. package/src/components/wt-popup/wt-popup.vue +18 -10
  76. package/src/components/wt-progress-bar/_variables.scss +10 -8
  77. package/src/components/wt-progress-bar/wt-progress-bar.vue +27 -18
  78. package/src/components/wt-radio/wt-radio.vue +26 -54
  79. package/src/components/wt-rounded-action/_variables.scss +4 -35
  80. package/src/components/wt-rounded-action/wt-rounded-action.vue +15 -70
  81. package/src/components/wt-search-bar/__tests__/WtSearchBar.spec.js +1 -1
  82. package/src/components/wt-search-bar/wt-search-bar.vue +18 -42
  83. package/src/components/wt-select/_multiselect.scss +48 -53
  84. package/src/components/wt-select/_variables.scss +0 -3
  85. package/src/components/wt-select/mixins/multiselectMixin.js +9 -1
  86. package/src/components/wt-select/wt-select.vue +41 -40
  87. package/src/components/wt-slider/_variables.scss +6 -0
  88. package/src/components/wt-slider/wt-slider.vue +25 -9
  89. package/src/components/wt-status-select/_variables.scss +7 -4
  90. package/src/components/wt-status-select/wt-status-select.vue +18 -12
  91. package/src/components/wt-stepper/_variables.scss +5 -0
  92. package/src/components/wt-stepper/wt-stepper.vue +15 -9
  93. package/src/components/wt-switcher/_variables.scss +30 -7
  94. package/src/components/wt-switcher/wt-switcher.vue +56 -35
  95. package/src/components/wt-table/_variables.scss +8 -5
  96. package/src/components/wt-table/wt-table.vue +123 -90
  97. package/src/components/wt-table-actions/wt-table-actions.vue +14 -14
  98. package/src/components/wt-table-column-select/wt-table-column-select.vue +33 -28
  99. package/src/components/wt-tabs/_variables.scss +4 -4
  100. package/src/components/wt-tabs/wt-tabs.vue +15 -13
  101. package/src/components/wt-tags-input/wt-tags-input.vue +26 -35
  102. package/src/components/wt-textarea/wt-textarea.vue +37 -54
  103. package/src/components/wt-time-input/wt-time-input.vue +24 -54
  104. package/src/components/wt-timepicker/wt-timepicker.vue +19 -27
  105. package/src/components/wt-tooltip/__tests__/WtTooltip.spec.js +0 -10
  106. package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +2 -2
  107. package/src/components/wt-tooltip/_variables.scss +2 -4
  108. package/src/components/wt-tooltip/wt-tooltip.vue +6 -18
  109. package/src/composables/useCachedInterval/__tests__/useCachedInterval.spec.js +5 -5
  110. package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +1 -1
  111. package/src/composables/useRepresentableAgentPauseCause/useRepresentableAgentPauseCause.js +1 -1
  112. package/src/css/styleguide/colors/_colors.scss +45 -29
  113. package/src/css/styleguide/colors/reusable/_text-field.scss +36 -0
  114. package/src/css/styleguide/placeholder/_placeholder.scss +9 -9
  115. package/src/enums/WebitelApplications/AdminSections.enum.js +2 -1
  116. package/src/locale/en/en.js +11 -3
  117. package/src/locale/es/es.js +2 -0
  118. package/src/locale/i18n.js +3 -1
  119. package/src/locale/kz/kz.js +327 -0
  120. package/src/locale/ru/ru.js +11 -3
  121. package/src/locale/ua/ua.js +11 -3
  122. package/src/mixins/validationMixin/__tests__/validationMixin.spec.js +2 -2
  123. package/src/mixins/validationMixin/useValidation.js +19 -4
  124. package/src/mixins/validationMixin/validationMixin.js +1 -0
  125. package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +4 -4
  126. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +11 -9
  127. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue +6 -5
  128. package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +3 -3
  129. package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +1 -1
  130. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +11 -8
  131. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +8 -8
  132. package/src/modules/AuditForm/components/audit-form-question.vue +8 -8
  133. package/src/modules/AuditForm/components/audit-form.vue +6 -5
  134. package/src/modules/AuditForm/components/questions/options/audit-form-question-options-write-row.vue +4 -4
  135. package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +7 -4
  136. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +3 -3
  137. package/src/modules/CSVExport/__tests__/CSVExport.spec.js +5 -2
  138. package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +77 -0
  139. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +35 -17
  140. package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -3
  141. package/src/modules/FilesExport/scripts/generateMediaURL.js +1 -1
  142. package/src/modules/Filters/components/filter-pagination.vue +1 -1
  143. package/src/modules/Filters/components/filter-table-fields.vue +1 -1
  144. package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +6 -6
  145. package/src/modules/QueryFilters/classes/__tests__/ApiFilterSchema.spec.js +1 -1
  146. package/src/modules/QueryFilters/components/__tests__/abstract-api-filter.spec.js +7 -5
  147. package/src/modules/QueryFilters/components/__tests__/abstract-enum-filter.spec.js +3 -1
  148. package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +2 -2
  149. package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +4 -4
  150. package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +2 -2
  151. package/src/modules/QueryFilters/components/abstract-api-filter.vue +2 -2
  152. package/src/modules/QueryFilters/components/abstract-enum-filter.vue +2 -2
  153. package/src/modules/QueryFilters/components/filter-datetime.vue +2 -2
  154. package/src/modules/QueryFilters/components/filter-from-to.vue +12 -10
  155. package/src/modules/QueryFilters/components/filter-search.vue +2 -2
  156. package/src/modules/QueryFilters/components/filter-table-fields.vue +7 -7
  157. package/src/modules/QueryFilters/mixins/__tests__/apiFilterMixin.spec.js +1 -1
  158. package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +2 -2
  159. package/src/modules/QueryFilters/mixins/__tests__/paginationFilterMixin.spec.js +2 -2
  160. package/src/modules/QueryFilters/mixins/__tests__/sortFilterMixin.spec.js +1 -1
  161. package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +2 -2
  162. package/src/modules/Userinfo/classes/ApplicationsAccess.js +6 -2
  163. package/src/modules/Userinfo/components/__tests__/auth.spec.js +7 -8
  164. package/src/modules/Userinfo/components/the-auth.vue +8 -5
  165. package/src/scripts/debounce.js +1 -1
  166. package/src/scripts/saveAsJSON.js +9 -0
  167. package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +6 -6
  168. package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +48 -0
  169. package/src/validators/variableSearchValidator/variableSearchValidator.js +10 -0
  170. package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +28 -0
  171. package/src/validators/websocketValidator/websocketValidator.js +9 -0
  172. package/dist/demo.html +0 -1
  173. package/dist/ui-sdk.common.js +0 -43066
  174. package/dist/ui-sdk.common.js.map +0 -1
  175. package/dist/ui-sdk.umd.js.map +0 -1
  176. package/dist/ui-sdk.umd.min.js +0 -35
  177. package/dist/ui-sdk.umd.min.js.map +0 -1
  178. package/src/components/wt-button/Readme.md +0 -23
  179. package/src/components/wt-button-select/Readme.md +0 -13
  180. package/src/components/wt-icon/Readme.md +0 -327
  181. package/src/components/wt-icon/docs/cleanup-svg-fill-none.png +0 -0
  182. package/src/components/wt-icon/docs/cleanup-svg-fill.png +0 -0
  183. package/src/components/wt-icon/docs/cleanup-svg-viewbox-correct.png +0 -0
  184. package/src/components/wt-icon/docs/cleanup-svg-viewbox-incorrect.png +0 -0
  185. package/src/components/wt-icon/docs/cleanup-svg-width-height.png +0 -0
  186. package/src/components/wt-icon/docs/svg-icon-code-example.png +0 -0
  187. package/src/components/wt-icon/docs/svg-sprite-in-dom.png +0 -0
  188. package/src/components/wt-icon-btn/Readme.md +0 -10
  189. package/src/components/wt-rounded-action/Readme.md +0 -68
  190. package/src/components/wt-tags-input/_variables.scss +0 -24
  191. package/src/locale/.DS_Store +0 -0
@@ -1,8 +1,11 @@
1
1
  <template>
2
- <div class="wt-timepicker" :class="{'wt-timepicker--invalid': invalid}">
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
- :maxValue="dateMode ? null : 23"
19
+ :max-value="dateMode ? null : 23"
17
20
  :disabled="disabled"
18
21
  hide-input-info
19
22
  @input="hour = $event"
20
- ></wt-time-input>
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
- :maxValue="59"
29
+ :max-value="59"
27
30
  :disabled="disabled"
28
31
  hide-input-info
29
32
  @input="min = $event"
30
- ></wt-time-input>
33
+ />
31
34
  <wt-time-input
32
35
  v-if="isSec"
33
36
  :value="sec"
34
37
  :v="v"
35
- :label="label ? null : $t('webitelUI.timepicker.sec')"
36
- :maxValue="59"
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
- ></wt-time-input>
43
+ />
41
44
  </div>
42
45
  <wt-input-info
43
46
  v-if="isValidation"
44
47
  :invalid="invalid"
45
- >{{ validationText }}
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: 'wt-timepicker',
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
  });
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <aside
3
- class="wt-tooltip-floating"
4
3
  ref="floating"
4
+ class="wt-tooltip-floating"
5
5
  >
6
- <slot></slot>
6
+ <slot />
7
7
  </aside>
8
8
  </template>
9
9
 
@@ -2,10 +2,8 @@
2
2
  :root {
3
3
  --tooltip-padding: var(--spacing-2xs) var(--spacing-xs);
4
4
 
5
- --tooltip-light-text-color: var(--text-primary-color);
6
- --tooltip-light-bg-color: var(--main-color);
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"></slot>
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 }"></slot>
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(--contrast-color);
137
- background: var(--main-color);
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', (done) => {
5
- const callback = jest.fn();
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
- done();
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('danger');
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 'danger';
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-success-color: var(--black);
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-warning-color: var(--black);
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-error-color: var(--black);
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-info-color: var(--black);
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-job-color: var(--black);
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-chat-color: var(--black);
69
+ --chat-on-color: var(--black);
66
70
 
67
71
  // transfer colors
68
- --transfer-color: var(--indigo-darken-1);
69
- --transfer-hover-color: var(--indigo-lighten-1);
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-transfer-color: var(--white);
75
+ --transfer-on-color: var(--white);
72
76
 
73
77
  // primary colors
74
- --primary-color: var(--amber-accent-2);
75
- --primary-hover-color: var(--amber-accent-3);
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-primary-color: var(--black);
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-text-color: var(--grey-darken-3);
85
- --main-text-disabled-color: var(--grey-lighten-1);
86
- --negative-text-color: var(--error-color);
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(0, 0%, 25%);
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-success-color: var(--white);
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-warning-color: var(--white);
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-error-color: var(--white);
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-info-color: var(--white);
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-job-color: var(--white);
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-chat-color: var(--white);
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-transfer-color: var(--white);
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-primary-color: var(--black);
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-text-color: var(--grey-lighten-3);
171
- --main-text-disabled-color: var(--grey-darken-1);
172
- --negative-text-color: var(--error-color);
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 == 'focus') {
19
- color: var(--form-placeholder-color--focus);
18
+ @if ($style == 'error') {
19
+ color: var(--wt-text-field-placeholder-error-color);
20
20
  } @else if ($style == 'disabled') {
21
- color: var(--form-placeholder-color--disabled);
21
+ color: var(--wt-text-field-placeholder-disabled-color);
22
22
  } @else {
23
- color: var(--form-placeholder-color);
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(--form-placeholder-color);
38
+ color: var(--wt-text-field-placeholder-color);
39
39
  }
40
40
 
41
- %wt-placeholder--focus {
41
+ %wt-placeholder--disabled {
42
42
  @extend %wt-placeholder;
43
- color: var(--form-placeholder-color--focus);
43
+ color: var(--wt-text-field-placeholder-disabled-color);
44
44
  }
45
45
 
46
- %wt-placeholder--disabled {
46
+ %wt-placeholder--error {
47
47
  @extend %wt-placeholder;
48
- color: var(--form-placeholder-color--disabled);
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
- SETTINGS: 'settings',
48
+ CONFIGURATION: 'configuration',
48
49
  });
49
50
 
50
51
  export default AdminSections;
@@ -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.SETTINGS]: 'Settings',
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} item? | Are you sure you want to delete {count} items?',
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
  };
@@ -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',
@@ -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 new createI18n({
17
+ export default createI18n({
16
18
  // legacy: false,
17
19
  locale: 'en',
18
20
  allowComposition: true,