@webitel/ui-sdk 25.8.31 → 25.8.33

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 (70) hide show
  1. package/dist/ui-sdk.css +1 -1
  2. package/dist/ui-sdk.js +6982 -7018
  3. package/dist/ui-sdk.umd.cjs +559 -559
  4. package/package.json +10 -1
  5. package/src/components/index.js +3 -0
  6. package/src/components/on-demand/wt-display-chip-items/wt-display-chip-items.vue +67 -0
  7. package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +7 -10
  8. package/src/components/wt-app-header/wt-app-navigator.vue +7 -11
  9. package/src/components/wt-app-header/wt-header-actions.vue +8 -12
  10. package/src/components/wt-context-menu/wt-context-menu.vue +40 -36
  11. package/src/components/wt-copy-action/wt-copy-action.vue +7 -11
  12. package/src/components/wt-icon-action/wt-icon-action.vue +8 -12
  13. package/src/components/wt-label/wt-label.vue +2 -1
  14. package/src/components/wt-pagination/wt-pagination.vue +15 -22
  15. package/src/components/wt-popover/wt-popover.vue +36 -18
  16. package/src/components/wt-search-bar/wt-search-bar.vue +5 -9
  17. package/src/components/wt-select/wt-select.vue +16 -15
  18. package/src/components/wt-table-actions/wt-table-actions.vue +43 -55
  19. package/src/components/wt-table-column-select/wt-table-column-select.vue +6 -9
  20. package/src/locale/en/en.js +24 -3
  21. package/src/locale/es/es.js +23 -6
  22. package/src/locale/kz/kz.js +324 -294
  23. package/src/locale/pl/pl.js +23 -6
  24. package/src/locale/ro/ro.js +23 -6
  25. package/src/locale/ru/ru.js +28 -4
  26. package/src/locale/uk/uk.js +28 -4
  27. package/src/locale/uz/uz.js +23 -6
  28. package/src/locale/vi/vi.js +23 -6
  29. package/src/mixins/validationMixin/validationMixin.js +5 -3
  30. package/src/mixins/validationMixin/vuelidate/useVuelidateValidation.ts +5 -5
  31. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +12 -19
  32. package/src/modules/AuditForm/components/form-questions/options/audit-form-question-options-write-row.vue +7 -10
  33. package/src/modules/Userinfo/v2/enums/GlobalActions/GlobalActions.ts +1 -0
  34. package/src/utils/displayText.ts +3 -0
  35. package/src/utils/index.ts +1 -0
  36. package/src/validations/config/errors/customZodErrorsHandler.ts +19 -2
  37. package/types/components/index.d.ts +3 -1
  38. package/types/components/on-demand/wt-display-chip-items/wt-display-chip-items.vue.d.ts +38 -0
  39. package/types/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue.d.ts +2 -2
  40. package/types/components/on-demand/wt-selection-popup/wt-selection-popup.vue.d.ts +2 -2
  41. package/types/components/wt-checkbox/wt-checkbox.vue.d.ts +5 -5
  42. package/types/components/wt-context-menu/wt-context-menu.vue.d.ts +4 -1
  43. package/types/components/wt-datepicker/wt-datepicker.vue.d.ts +2 -2
  44. package/types/components/wt-input/wt-input.vue.d.ts +2 -2
  45. package/types/components/wt-item-link/wt-item-link.vue.d.ts +2 -2
  46. package/types/components/wt-player/wt-player.vue.d.ts +2 -2
  47. package/types/components/wt-popover/wt-popover.vue.d.ts +32 -15
  48. package/types/components/wt-radio/wt-radio.vue.d.ts +6 -6
  49. package/types/components/wt-search-bar/wt-search-bar.vue.d.ts +6 -6
  50. package/types/components/wt-slider/wt-slider.vue.d.ts +2 -2
  51. package/types/components/wt-textarea/wt-textarea.vue.d.ts +2 -2
  52. package/types/components/wt-time-input/wt-time-input.vue.d.ts +1 -1
  53. package/types/components/wt-timepicker/wt-timepicker.vue.d.ts +1 -1
  54. package/types/components/wt-tooltip/_internals/wt-tooltip-floating.vue.d.ts +1 -1
  55. package/types/components/wt-tooltip/wt-tooltip.vue.d.ts +2 -2
  56. package/types/locale/en/en.d.ts +9 -3
  57. package/types/locale/es/es.d.ts +11 -5
  58. package/types/locale/i18n.d.ts +102 -36
  59. package/types/locale/index.d.ts +103 -37
  60. package/types/locale/kz/kz.d.ts +14 -0
  61. package/types/locale/pl/pl.d.ts +11 -5
  62. package/types/locale/ro/ro.d.ts +11 -5
  63. package/types/locale/ru/ru.d.ts +12 -4
  64. package/types/locale/uk/uk.d.ts +12 -4
  65. package/types/locale/uz/uz.d.ts +11 -5
  66. package/types/locale/vi/vi.d.ts +11 -5
  67. package/types/modules/Userinfo/v2/enums/GlobalActions/GlobalActions.d.ts +1 -0
  68. package/types/scripts/sortQueryAdapters.d.ts +1 -1
  69. package/types/utils/displayText.d.ts +2 -0
  70. package/types/utils/index.d.ts +1 -0
@@ -352,19 +352,36 @@ export default {
352
352
  sipAccountValidator: 'Powinno wyglądać jak konto SIP',
353
353
  ipValidator: 'Powinno wyglądać jak IPv4',
354
354
  macValidator: 'Powinno wyglądać jak MAC',
355
- minValue: 'Wartość nie powinna być mniejsza niż',
356
- maxValue: 'Wartość nie powinna być większa niż',
357
- maxLength: 'Długość nie powinna być większa niż',
358
- sameAs: 'Nieprawidłowe hasło',
359
- requiredArrayValue: 'Tablica nie powinna być pusta',
355
+ minValue: ({ named }) => {
356
+ let text = 'Wartość nie powinna być mniejsza niż';
357
+ if (named('min')) {
358
+ text += ` ${named('min')}`;
359
+ }
360
+ return text;
361
+ },
362
+ maxValue: ({ named }) => {
363
+ let text = 'Wartość nie powinna być większa niż';
364
+ if (named('max')) {
365
+ text += ` ${named('max')}`;
366
+ }
367
+ return text;
368
+ },
360
369
  minLength: ({ named }) => {
361
370
  let text = 'Długość nie powinna być mniejsza niż';
362
371
  if (named('min')) {
363
372
  text += ` ${named('min')}`;
364
373
  }
365
-
366
374
  return text;
367
375
  },
376
+ maxLength: ({ named }) => {
377
+ let text = 'Długość nie powinna być większa niż';
378
+ if (named('max')) {
379
+ text += ` ${named('max')}`;
380
+ }
381
+ return text;
382
+ },
383
+ sameAs: 'Nieprawidłowe hasło',
384
+ requiredArrayValue: 'Tablica nie powinna być pusta',
368
385
  url: 'Powinno wyglądać jak URL',
369
386
  websocketValidator: 'Powinno wyglądać jak URL WebSocket',
370
387
  isRegExpMatched: 'Hasło musi pasować do wyrażenia regularnego:',
@@ -352,19 +352,36 @@ export default {
352
352
  sipAccountValidator: 'Trebuie să arate ca un cont SIP',
353
353
  ipValidator: 'Trebuie să arate ca un IPv4',
354
354
  macValidator: 'Trebuie să arate ca un MAC',
355
- minValue: 'Valoarea nu trebuie fie mai mică decât',
356
- maxValue: 'Valoarea nu trebuie să fie mai mare decât',
357
- maxLength: 'Lungimea nu trebuie să fie mai mare de',
358
- sameAs: 'Parolă incorectă',
359
- requiredArrayValue: 'Matricea nu trebuie să fie goală',
355
+ minValue: ({ named }) => {
356
+ let text = 'Valoarea nu trebuie să fie mai mică decât';
357
+ if (named('min')) {
358
+ text += ` ${named('min')}`;
359
+ }
360
+ return text;
361
+ },
362
+ maxValue: ({ named }) => {
363
+ let text = 'Valoarea nu trebuie să fie mai mare decât';
364
+ if (named('max')) {
365
+ text += ` ${named('max')}`;
366
+ }
367
+ return text;
368
+ },
360
369
  minLength: ({ named }) => {
361
370
  let text = 'Lungimea nu trebuie să fie mai mică de';
362
371
  if (named('min')) {
363
372
  text += ` ${named('min')}`;
364
373
  }
365
-
366
374
  return text;
367
375
  },
376
+ maxLength: ({ named }) => {
377
+ let text = 'Lungimea nu trebuie să fie mai mare de';
378
+ if (named('max')) {
379
+ text += ` ${named('max')}`;
380
+ }
381
+ return text;
382
+ },
383
+ sameAs: 'Parolă incorectă',
384
+ requiredArrayValue: 'Matricea nu trebuie să fie goală',
368
385
  url: 'Trebuie să arate ca un URL',
369
386
  websocketValidator: 'Trebuie să arate ca un URL WebSocket',
370
387
  isRegExpMatched: 'Parola trebuie să se potrivească cu expresia regulată:',
@@ -350,12 +350,36 @@ export default {
350
350
  sipAccountValidator: 'Необходимо ввести SIP-аккаунт',
351
351
  ipValidator: 'Необходимо ввести IPv4',
352
352
  macValidator: 'Необходимо ввести MAC-адрес',
353
- minValue: 'Значение должно быть не меньше',
354
- maxValue: 'Значение должно быть не больше',
355
- maxLength: 'Длина не должна быть больше, чем',
353
+ minValue: ({ named }) => {
354
+ let text = 'Значение должно быть не меньше';
355
+ if (named('min')) {
356
+ text += ` ${named('min')}`;
357
+ }
358
+ return text;
359
+ },
360
+ maxValue: ({ named }) => {
361
+ let text = 'Значение должно быть не больше';
362
+ if (named('max')) {
363
+ text += ` ${named('max')}`;
364
+ }
365
+ return text;
366
+ },
367
+ maxLength: ({ named }) => {
368
+ let text = 'Длина не должна быть больше, чем';
369
+ if (named('max')) {
370
+ text += ` ${named('max')}`;
371
+ }
372
+ return text;
373
+ },
356
374
  sameAs: 'Неверный пароль',
357
375
  requiredArrayValue: 'Поле не должно быть пустым',
358
- minLength: 'Количество символов не должно быть меньше, чем',
376
+ minLength: ({ named }) => {
377
+ let text = 'Количество символов не должно быть меньше, чем';
378
+ if (named('min')) {
379
+ text += ` ${named('min')}`;
380
+ }
381
+ return text;
382
+ },
359
383
  url: 'Необходимо ввести корректный URL-адрес',
360
384
  websocketValidator: 'Необходимо ввести корректный WebSocket url-адрес',
361
385
  isRegExpMatched: 'Пароль должен соответствовать регулярному выражению:',
@@ -350,12 +350,36 @@ export default {
350
350
  sipAccountValidator: 'Необхідно ввести SIP-аккаунт',
351
351
  ipValidator: 'Необхідно ввести IPv4',
352
352
  macValidator: 'Необхідно ввести MAC-адрес',
353
- minValue: 'Значення повинно бути не менше',
354
- maxValue: 'Значення повинно бути не більше',
355
- maxLength: 'Довжина не повинна бути більшою, ніж',
353
+ minValue: ({ named }) => {
354
+ let text = 'Значення повинно бути не менше';
355
+ if (named('min')) {
356
+ text += ` ${named('min')}`;
357
+ }
358
+ return text;
359
+ },
360
+ maxValue: ({ named }) => {
361
+ let text = 'Значення повинно бути не більше';
362
+ if (named('max')) {
363
+ text += ` ${named('max')}`;
364
+ }
365
+ return text;
366
+ },
367
+ maxLength: ({ named }) => {
368
+ let text = 'Довжина не повинна бути більшою, ніж';
369
+ if (named('max')) {
370
+ text += ` ${named('max')}`;
371
+ }
372
+ return text;
373
+ },
356
374
  sameAs: 'Неправильний пароль',
357
375
  requiredArrayValue: 'Поле не повинно бути пустим',
358
- minLength: 'Кількість символів повинна бути не меншою, ніж',
376
+ minLength: ({ named }) => {
377
+ let text = 'Кількість символів повинна бути не меншою, ніж';
378
+ if (named('min')) {
379
+ text += ` ${named('min')}`;
380
+ }
381
+ return text;
382
+ },
359
383
  url: 'Необхідно ввести правильну URL-адресу',
360
384
  websocketValidator: 'Необхідно ввести правильну WebSocket url-адресу',
361
385
  isRegExpMatched: 'Пароль має відповідати регулярному виразу:',
@@ -353,19 +353,36 @@ export default {
353
353
  sipAccountValidator: "SIP akkaunt ko'rinishida bo'lishi kerak",
354
354
  ipValidator: "IPv4 ko'rinishida bo'lishi kerak",
355
355
  macValidator: "MAC ko'rinishida bo'lishi kerak",
356
- minValue: "Qiymat dan kam bo'lmasligi kerak",
357
- maxValue: "Qiymat dan ko'p bo'lmasligi kerak",
358
- maxLength: "Uzunlik dan ko'p bo'lmasligi kerak",
359
- sameAs: "Noto'g'ri parol",
360
- requiredArrayValue: "Massiv bo'sh bo'lmasligi kerak",
356
+ minValue: ({ named }) => {
357
+ let text = "Qiymat dan kam bo'lmasligi kerak";
358
+ if (named('min')) {
359
+ text += ` ${named('min')}`;
360
+ }
361
+ return text;
362
+ },
363
+ maxValue: ({ named }) => {
364
+ let text = "Qiymat dan ko'p bo'lmasligi kerak";
365
+ if (named('max')) {
366
+ text += ` ${named('max')}`;
367
+ }
368
+ return text;
369
+ },
361
370
  minLength: ({ named }) => {
362
371
  let text = "Uzunlik dan kam bo'lmasligi kerak";
363
372
  if (named('min')) {
364
373
  text += ` ${named('min')}`;
365
374
  }
366
-
367
375
  return text;
368
376
  },
377
+ maxLength: ({ named }) => {
378
+ let text = "Uzunlik dan ko'p bo'lmasligi kerak";
379
+ if (named('max')) {
380
+ text += ` ${named('max')}`;
381
+ }
382
+ return text;
383
+ },
384
+ sameAs: "Noto'g'ri parol",
385
+ requiredArrayValue: "Massiv bo'sh bo'lmasligi kerak",
369
386
  url: "URL ko'rinishida bo'lishi kerak",
370
387
  websocketValidator: "WebSocket url ko'rinishida bo'lishi kerak",
371
388
  isRegExpMatched: 'Parol quyidagi formatga mos kelishi kerak:',
@@ -354,19 +354,36 @@ export default {
354
354
  sipAccountValidator: 'Phải là tài khoản SIP',
355
355
  ipValidator: 'Phải là IPv4',
356
356
  macValidator: 'Phải là MAC',
357
- minValue: 'Giá trị không được nhỏ hơn',
358
- maxValue: 'Giá trị không được lớn hơn',
359
- maxLength: 'Độ dài không được lớn hơn',
360
- sameAs: 'Mật khẩu không đúng',
361
- requiredArrayValue: 'Mảng không được để trống',
357
+ minValue: ({ named }) => {
358
+ let text = 'Giá trị không được nhỏ hơn';
359
+ if (named('min')) {
360
+ text += ` ${named('min')}`;
361
+ }
362
+ return text;
363
+ },
364
+ maxValue: ({ named }) => {
365
+ let text = 'Giá trị không được lớn hơn';
366
+ if (named('max')) {
367
+ text += ` ${named('max')}`;
368
+ }
369
+ return text;
370
+ },
362
371
  minLength: ({ named }) => {
363
372
  let text = 'Độ dài không được nhỏ hơn';
364
373
  if (named('min')) {
365
374
  text += ` ${named('min')}`;
366
375
  }
367
-
368
376
  return text;
369
377
  },
378
+ maxLength: ({ named }) => {
379
+ let text = 'Độ dài không được lớn hơn';
380
+ if (named('max')) {
381
+ text += ` ${named('max')}`;
382
+ }
383
+ return text;
384
+ },
385
+ sameAs: 'Mật khẩu không đúng',
386
+ requiredArrayValue: 'Mảng không được để trống',
370
387
  url: 'Phải là URL',
371
388
  websocketValidator: 'Phải là URL WebSocket',
372
389
  isRegExpMatched: 'Mật khẩu phải khớp với biểu thức chính quy:',
@@ -32,13 +32,15 @@ export default {
32
32
  else if (this.v.macValidator?.$invalid)
33
33
  validationText = this.$t('validation.macValidator');
34
34
  else if (this.v.minValue?.$invalid)
35
- validationText = `${this.$t('validation.minValue')} ${this.v.minValue.$params.min}`;
35
+ validationText = this.$t('validation.minValue', { min: this.v.minValue.$params.min });
36
36
  else if (this.v.maxValue?.$invalid)
37
- validationText = `${this.$t('validation.maxValue')} ${this.v.maxValue.$params.max}`;
37
+ validationText = this.$t('validation.maxValue', { max: this.v.maxValue.$params.max });
38
38
  else if (this.v.sipAccountValidator?.$invalid)
39
39
  validationText = this.$t('validation.sipAccountValidator');
40
40
  else if (this.v.minLength?.$invalid)
41
- validationText = `${this.$t('validation.minLength')} ${this.v.minLength.$params.min}`;
41
+ validationText = this.$t('validation.minLength', { min: this.v.minLength.$params.min });
42
+ else if (this.v.maxLength?.$invalid)
43
+ validationText = this.$t('validation.maxLength', { max: this.v.maxLength.$params.max });
42
44
  else if (this.v.url?.$invalid)
43
45
  validationText = `${this.$t('validation.url')}`;
44
46
  else if (this.v.regExpValidator?.$invalid)
@@ -1,5 +1,5 @@
1
1
  import type { Validation } from '@vuelidate/core';
2
- import {computed, isReactive, Ref} from 'vue';
2
+ import { computed, isReactive, Ref } from 'vue';
3
3
  import { useI18n } from 'vue-i18n';
4
4
 
5
5
  export type UseFieldValidationParams = {
@@ -42,15 +42,15 @@ export const useFieldValidation = ({
42
42
  else if (v.value.macValidator?.$invalid)
43
43
  validationText = t('validation.macValidator');
44
44
  else if (v.value.minValue?.$invalid)
45
- validationText = `${t('validation.minValue')} ${v.value.minValue.$params.min}`;
45
+ validationText = t('validation.minValue', { min: v.value.minValue.$params.min });
46
46
  else if (v.value.maxValue?.$invalid)
47
- validationText = `${t('validation.maxValue')} ${v.value.maxValue.$params.max}`;
47
+ validationText = t('validation.maxValue', { max: v.value.maxValue.$params.max });
48
48
  else if (v.value.maxLength?.$invalid)
49
- validationText = `${t('validation.maxLength')} ${v.value.maxLength.$params.max}`;
49
+ validationText = t('validation.maxLength', { max: v.value.maxLength.$params.max });
50
50
  else if (v.value.sipAccountValidator?.$invalid)
51
51
  validationText = t('validation.sipAccountValidator');
52
52
  else if (v.value.minLength?.$invalid)
53
- validationText = `${t('validation.minLength')} ${v.value.minLength.$params.min}`;
53
+ validationText = t('validation.minLength', { min: v.value.minLength.$params.min });
54
54
  else if (v.value.url?.$invalid) validationText = `${t('validation.url')}`;
55
55
  else if (v.value.regExpValidator?.$invalid)
56
56
  validationText = `${t('validation.regExpValidator')}`;
@@ -8,25 +8,18 @@
8
8
  @change="updateQuestion({ path: 'required', value: $event })"
9
9
  />
10
10
  <div class="audit-form-question-write-header__actions">
11
- <wt-tooltip>
12
- <template #activator>
13
- <wt-icon-btn
14
- icon="copy"
15
- @click="emit('copy')"
16
- />
17
- </template>
18
- {{ $t('reusable.copy') }}
19
- </wt-tooltip>
20
- <wt-tooltip>
21
- <template #activator>
22
- <wt-icon-btn
23
- :disabled="first"
24
- icon="bucket"
25
- @click="emit('delete')"
26
- />
27
- </template>
28
- {{ $t('reusable.delete') }}
29
- </wt-tooltip>
11
+ <wt-icon-btn
12
+ v-tooltip="t('reusable.copy')"
13
+ icon="copy"
14
+ @click="emit('copy')"
15
+ />
16
+
17
+ <wt-icon-btn
18
+ v-tooltip="$t('reusable.delete')"
19
+ :disabled="first"
20
+ icon="bucket"
21
+ @click="emit('delete')"
22
+ />
30
23
  </div>
31
24
  </header>
32
25
  <section class="audit-form-question-write-content">
@@ -14,16 +14,13 @@
14
14
  type="number"
15
15
  @input="emit('update:option', { name: option.name, score: $event })"
16
16
  />
17
- <wt-tooltip class="audit-form-question-options-write-row__tooltip">
18
- <template #activator>
19
- <wt-icon-btn
20
- :disabled="first"
21
- icon="bucket"
22
- @click="emit('delete')"
23
- />
24
- </template>
25
- {{ $t('reusable.delete') }}
26
- </wt-tooltip>
17
+
18
+ <wt-icon-btn
19
+ v-tooltip="$t('reusable.delete')"
20
+ :disabled="first"
21
+ icon="bucket"
22
+ @click="emit('delete')"
23
+ />
27
24
  </div>
28
25
  </template>
29
26
 
@@ -33,6 +33,7 @@ export const SpecialGlobalAction = {
33
33
  ViewCdrPhoneNumbers: 'view_cdr_phone_numbers',
34
34
  ChangeUserPassword: 'change_user_password',
35
35
  EavesdropCall: 'eavesdrop_call',
36
+ ControlAgentScreen: 'control_agent_screen',
36
37
  } as const;
37
38
 
38
39
  export type SpecialGlobalAction =
@@ -0,0 +1,3 @@
1
+ export const EMPTY_SYMBOL = '-';
2
+
3
+ export const displayText = (text: string) => text || EMPTY_SYMBOL;
@@ -0,0 +1 @@
1
+ export * from './displayText';
@@ -22,17 +22,34 @@ export const customZodErrorsHandler =
22
22
  return t('validation.required');
23
23
  };
24
24
 
25
+ // if empty, show "required" error
25
26
  if (isEmpty(issue.input) as boolean) {
26
27
  return showRequiredMsg();
27
28
  }
28
29
 
29
- return t('validation.minLength', {
30
+ // if str, show "length" error
31
+ if (issue.origin === 'string') {
32
+ return t('validation.minLength', {
33
+ min: issue.minimum,
34
+ });
35
+ }
36
+
37
+ // else, show "value" error
38
+ return t('validation.minValue', {
30
39
  min: issue.minimum,
31
40
  });
32
41
  }
33
42
 
34
43
  function handleTooBig(issue: z.core.$ZodIssueTooBig) {
35
- return t('validation.maxLength', {
44
+ // if string, show "length" error
45
+ if (issue.origin === 'string') {
46
+ return t('validation.maxLength', {
47
+ max: issue.maximum,
48
+ });
49
+ }
50
+
51
+ // else, show "value" error
52
+ return t('validation.maxValue', {
36
53
  max: issue.maximum,
37
54
  });
38
55
  }
@@ -12,6 +12,7 @@ import WtConfirmDialog from './wt-confirm-dialog/wt-confirm-dialog.vue';
12
12
  import WtContextMenu from './wt-context-menu/wt-context-menu.vue';
13
13
  import WtCopyAction from './wt-copy-action/wt-copy-action.vue';
14
14
  import WtDatepicker from './wt-datepicker/wt-datepicker.vue';
15
+ import WtDisplayChipItems from './on-demand/wt-display-chip-items/wt-display-chip-items.vue';
15
16
  import WtDivider from './wt-divider/wt-divider.vue';
16
17
  import WtDualPanel from './wt-dual-panel/wt-dual-panel.vue';
17
18
  import WtDummy from './wt-dummy/wt-dummy.vue';
@@ -141,5 +142,6 @@ declare namespace Components {
141
142
  export { WtNavigationMenu };
142
143
  export { WtStartPage };
143
144
  export { WtSelectionPopup };
145
+ export { WtDisplayChipItems };
144
146
  }
145
- export { WtActionBar, WtAppHeader, WtAppNavigator, WtAvatar, WtBadge, WtButton, WtButtonSelect, WtCheckbox, WtChip, WtConfirmDialog, WtContextMenu, WtCopyAction, WtDatepicker, WtDivider, WtDualPanel, WtDummy, WtEmpty, WtErrorPage, WtExpansionPanel, WtFiltersPanelWrapper, WtHeaderActions, WtHeadline, WtHeadlineNav, WtHint, WtIcon, WtIconAction, WtIconBtn, WtImage, WtIndicator, WtInput, WtInputInfo, WtIntersectionObserver, WtItemLink, WtLabel, WtLoadBar, WtLoader, WtLogo, WtNavigationBar, WtNavigationMenu, WtNotification, WtNotificationsBar, WtPageHeader, WtPageWrapper, WtPagination, WtPlayer, WtPopover, WtPopup, WtProgressBar, WtRadio, WtReplaceTransition, WtRoundedAction, WtSearchBar, WtSelect, WtSelectionPopup, WtSlider, WtStartPage, WtStatusSelect, WtStepper, WtSwitcher, WtTable, WtTableActions, WtTableColumnSelect, WtTabs, WtTagsInput, WtTextarea, WtTimeInput, WtTimepicker, WtTooltip, WtTree, WtTreeTable, WtTypeExtensionValueInput };
147
+ export { WtActionBar, WtAppHeader, WtAppNavigator, WtAvatar, WtBadge, WtButton, WtButtonSelect, WtCheckbox, WtChip, WtConfirmDialog, WtContextMenu, WtCopyAction, WtDatepicker, WtDisplayChipItems, WtDivider, WtDualPanel, WtDummy, WtEmpty, WtErrorPage, WtExpansionPanel, WtFiltersPanelWrapper, WtHeaderActions, WtHeadline, WtHeadlineNav, WtHint, WtIcon, WtIconAction, WtIconBtn, WtImage, WtIndicator, WtInput, WtInputInfo, WtIntersectionObserver, WtItemLink, WtLabel, WtLoadBar, WtLoader, WtLogo, WtNavigationBar, WtNavigationMenu, WtNotification, WtNotificationsBar, WtPageHeader, WtPageWrapper, WtPagination, WtPlayer, WtPopover, WtPopup, WtProgressBar, WtRadio, WtReplaceTransition, WtRoundedAction, WtSearchBar, WtSelect, WtSelectionPopup, WtSlider, WtStartPage, WtStatusSelect, WtStepper, WtSwitcher, WtTable, WtTableActions, WtTableColumnSelect, WtTabs, WtTagsInput, WtTextarea, WtTimeInput, WtTimepicker, WtTooltip, WtTree, WtTreeTable, WtTypeExtensionValueInput };
@@ -0,0 +1,38 @@
1
+ import { WtChip, WtPopover } from '@webitel/ui-sdk/components';
2
+ import { displayText } from '../../../utils';
3
+ interface Props {
4
+ hideFirstItem?: boolean;
5
+ useEmptySymbol?: boolean;
6
+ title?: string;
7
+ items: unknown[];
8
+ }
9
+ declare const firstItemName: import("vue").ComputedRef<any>;
10
+ declare const displayList: import("vue").ComputedRef<unknown[]>;
11
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
12
+ declare var __VLS_1: {}, __VLS_7: {
13
+ toggle: (event?: Event) => void;
14
+ }, __VLS_13: {
15
+ items: unknown[];
16
+ };
17
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
18
+ 'first-item'?: (props: typeof __VLS_1) => any;
19
+ } & {
20
+ activator?: (props: typeof __VLS_7) => any;
21
+ } & {
22
+ items?: (props: typeof __VLS_13) => any;
23
+ }>;
24
+ declare const __VLS_self: import("vue").DefineComponent<Props, {
25
+ WtChip: typeof WtChip;
26
+ WtPopover: typeof WtPopover;
27
+ displayText: typeof displayText;
28
+ firstItemName: typeof firstItemName;
29
+ displayList: typeof displayList;
30
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
33
+ export default _default;
34
+ type __VLS_WithSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -1,9 +1,9 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- icons: unknown[];
3
2
  nav: unknown[];
3
+ icons: unknown[];
4
4
  $props: {
5
- readonly icons?: unknown[];
6
5
  readonly nav?: unknown[];
6
+ readonly icons?: unknown[];
7
7
  };
8
8
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
9
9
  export default _default;
@@ -6,12 +6,12 @@ type __VLS_WithSlots<T, S> = T & (new () => {
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
7
  $emit: (event: "change" | "add" | "close", ...args: any[]) => void;
8
8
  options: unknown[];
9
- selected?: Record<string, any>;
10
9
  title?: string;
10
+ selected?: Record<string, any>;
11
11
  $props: {
12
12
  readonly options?: unknown[];
13
- readonly selected?: Record<string, any>;
14
13
  readonly title?: string;
14
+ readonly selected?: Record<string, any>;
15
15
  };
16
16
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
17
  type __VLS_Slots = {
@@ -1,10 +1,10 @@
1
1
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  value: {
3
- type: (BooleanConstructor | StringConstructor)[];
3
+ type: (StringConstructor | BooleanConstructor)[];
4
4
  default: string;
5
5
  };
6
6
  selected: {
7
- type: (ArrayConstructor | BooleanConstructor)[];
7
+ type: (BooleanConstructor | ArrayConstructor)[];
8
8
  default: () => any[];
9
9
  };
10
10
  label: {
@@ -27,11 +27,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
27
27
  inputHandler(): void;
28
28
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "change"[], "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
29
29
  value: {
30
- type: (BooleanConstructor | StringConstructor)[];
30
+ type: (StringConstructor | BooleanConstructor)[];
31
31
  default: string;
32
32
  };
33
33
  selected: {
34
- type: (ArrayConstructor | BooleanConstructor)[];
34
+ type: (BooleanConstructor | ArrayConstructor)[];
35
35
  default: () => any[];
36
36
  };
37
37
  label: {
@@ -49,9 +49,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
49
49
  }>> & Readonly<{
50
50
  onChange?: (...args: any[]) => any;
51
51
  }>, {
52
- selected: boolean | unknown[];
53
52
  value: string | boolean;
54
53
  label: string;
54
+ selected: boolean | unknown[];
55
55
  disabled: boolean;
56
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
57
  export default _default;
@@ -23,6 +23,9 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
23
23
  };
24
24
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
25
  type __VLS_Slots = {
26
- activator?: (props: {}) => any;
26
+ activator?: (props: {
27
+ toggle: any;
28
+ show: any;
29
+ }) => any;
27
30
  option?: (props: any) => any;
28
31
  };
@@ -5,8 +5,8 @@ type __VLS_WithSlots<T, S> = T & (new () => {
5
5
  });
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
7
  $emit: (event: "input", ...args: any[]) => void;
8
- required: boolean;
9
8
  value: string | number;
9
+ required: boolean;
10
10
  label: string;
11
11
  mode: string;
12
12
  disabled: boolean;
@@ -17,8 +17,8 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
17
17
  disabledDates?: Record<string, any>;
18
18
  labelProps?: Record<string, any>;
19
19
  $props: {
20
- readonly required?: boolean;
21
20
  readonly value?: string | number;
21
+ readonly required?: boolean;
22
22
  readonly label?: string;
23
23
  readonly mode?: string;
24
24
  readonly disabled?: boolean;
@@ -68,9 +68,9 @@ declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
68
68
  "onUpdate:modelValue"?: (...args: any[]) => any;
69
69
  onKeyup?: (...args: any[]) => any;
70
70
  }>, {
71
+ name: string;
71
72
  type: string;
72
73
  required: boolean;
73
- name: string;
74
74
  label: string;
75
75
  disabled: boolean;
76
76
  v: Record<string, unknown>;
@@ -91,9 +91,9 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
91
91
  "onUpdate:modelValue"?: (...args: any[]) => any;
92
92
  onKeyup?: (...args: any[]) => any;
93
93
  }>, {
94
+ name: string;
94
95
  type: string;
95
96
  required: boolean;
96
- name: string;
97
97
  label: string;
98
98
  disabled: boolean;
99
99
  v: Record<string, unknown>;
@@ -6,15 +6,15 @@ type __VLS_WithSlots<T, S> = T & (new () => {
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
7
  link: string | Record<string, any>;
8
8
  target: string;
9
- disabled: boolean;
10
9
  id: string | number;
10
+ disabled: boolean;
11
11
  routeName: string;
12
12
  invisible: boolean;
13
13
  $props: {
14
14
  readonly link?: string | Record<string, any>;
15
15
  readonly target?: string;
16
- readonly disabled?: boolean;
17
16
  readonly id?: string | number;
17
+ readonly disabled?: boolean;
18
18
  readonly routeName?: string;
19
19
  readonly invisible?: boolean;
20
20
  };
@@ -13,7 +13,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13
13
  default: boolean;
14
14
  };
15
15
  download: {
16
- type: (BooleanConstructor | StringConstructor | FunctionConstructor)[];
16
+ type: (StringConstructor | BooleanConstructor | FunctionConstructor)[];
17
17
  default: () => (url: any) => any;
18
18
  };
19
19
  mime: {
@@ -65,7 +65,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
65
65
  default: boolean;
66
66
  };
67
67
  download: {
68
- type: (BooleanConstructor | StringConstructor | FunctionConstructor)[];
68
+ type: (StringConstructor | BooleanConstructor | FunctionConstructor)[];
69
69
  default: () => (url: any) => any;
70
70
  };
71
71
  mime: {