@webitel/ui-sdk 25.10.26 → 25.10.27

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "25.10.26",
3
+ "version": "25.10.27",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "make-all": "npm version patch --git-tag-version false && npm run build && (npm run build:types || true) && (npm run lint:fix || true) && npm run publish-lib",
@@ -56,7 +56,7 @@
56
56
  "@vuepic/vue-datepicker": "^4.5.1",
57
57
  "@vueuse/components": "^13.0.0",
58
58
  "@webitel/api-services": "^0.0.44",
59
- "@webitel/styleguide": "^24.12.66",
59
+ "@webitel/styleguide": "^24.12.72",
60
60
  "autosize": "^6.0.1",
61
61
  "axios": "^1.8.3",
62
62
  "clipboard-copy": "^4.0.1",
@@ -0,0 +1,4 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M22 12V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V12H22Z"/>
3
+ <path d="M9.67578 2C9.99811 2.00004 10.3182 2.05237 10.624 2.1543L13.0088 2.94824C13.1106 2.98213 13.217 2.99996 13.3242 3H19C20.6569 3 22 4.34315 22 6V10H19V9C19 7.89543 18.1046 7 17 7H7C5.89543 7 5 7.89543 5 9V10H2V5C2 3.34315 3.34315 2 5 2H9.67578Z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M19 8C20.6569 8 22 9.34315 22 11V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V11C2 9.34315 3.34315 8 5 8H19ZM15.6641 11.7529C15.2513 11.386 14.6199 11.4232 14.2529 11.8359L10.957 15.543L9.70703 14.293L9.63086 14.2246C9.23811 13.9043 8.65909 13.9269 8.29297 14.293C7.90244 14.6835 7.90244 15.3165 8.29297 15.707L9.54297 16.957C10.3566 17.7707 11.6876 17.732 12.4521 16.8721L15.7471 13.1641C16.1139 12.7513 16.0768 12.1198 15.6641 11.7529Z"/>
3
+ <path d="M9.67578 2C9.99811 2.00004 10.3182 2.05237 10.624 2.1543L13.0088 2.94824C13.1106 2.98213 13.217 2.99996 13.3242 3H19C20.6569 3 22 4.34315 22 6V7C21.1643 6.37223 20.1257 6 19 6H5C3.87432 6 2.83569 6.37223 2 7V5C2 3.34315 3.34315 2 5 2H9.67578Z"/>
4
+ </svg>
@@ -41,7 +41,9 @@ import callRinging from './call-ringing.svg';
41
41
  import callRingingFilled from './call-ringing--filled.svg';
42
42
  import callTransfer from './call-transfer.svg';
43
43
  import callTransferFilled from './call-transfer--filled.svg';
44
+ import caseFilled from './case--filled.svg';
44
45
  import caseAuthor from './case-author.svg';
46
+ import caseDone from './case-done.svg';
45
47
  import cases from './cases.svg';
46
48
  import chat from './chat.svg';
47
49
  import chatFilled from './chat--filled.svg';
@@ -262,6 +264,8 @@ export default objCamelToKebab({
262
264
 
263
265
  caseAuthor,
264
266
  cases,
267
+ 'case--filled': caseFilled,
268
+ caseDone,
265
269
  chat,
266
270
  'chat--filled': chatFilled,
267
271
  chatEmoji,
@@ -1,10 +1,12 @@
1
1
  :root {
2
- --page-wrapper-padding: var(--spacing-sm);
3
- --page-wrapper-section-padding: var(--spacing-sm);
4
- --page-wrapper-section-gap: var(--spacing-sm);
2
+ --page-wrapper-padding: var(--spacing-xs);
3
+ --page-wrapper-section-padding: var(--spacing-xs);
4
+ --page-wrapper-section-gap: var(--spacing-xs);
5
5
 
6
6
  --wt-page-wrapper-background-color: var(--p-surface-50);
7
7
  --wt-page-wrapper-content-wrapper-color: var(--content-wrapper-color);
8
+
9
+ --content-wrapper-border-radius: var(--p-border-radius-lg);
8
10
  }
9
11
 
10
12
  :root.theme--dark {
@@ -39,20 +39,28 @@ export default {
39
39
  .wt-page-wrapper {
40
40
  display: flex;
41
41
  flex-direction: column;
42
- gap: var(--page-wrapper-section-gap);
43
42
  box-sizing: border-box;
44
- background: var(--wt-page-wrapper-background-color);
45
- padding: var(--page-wrapper-padding);
46
43
  max-width: 100%;
47
44
  min-height: 100%;
45
+ padding: var(--page-wrapper-padding);
46
+ background: var(--wt-page-wrapper-background-color);
47
+ gap: var(--page-wrapper-section-gap);
48
48
  }
49
49
 
50
50
  .wt-page-wrapper__header,
51
51
  .wt-page-wrapper__actions-panel,
52
52
  .wt-page-wrapper__main {
53
53
  box-sizing: border-box;
54
- border-radius: var(--border-radius);
54
+ border-radius: var(--content-wrapper-border-radius);
55
55
  background: var(--wt-page-wrapper-content-wrapper-color);
56
+ }
57
+
58
+ .wt-page-wrapper__header,
59
+ .wt-page-wrapper__actions-panel {
60
+ padding: var(--page-wrapper-section-padding) var(--spacing-sm);
61
+ }
62
+
63
+ .wt-page-wrapper__main {
56
64
  padding: var(--page-wrapper-section-padding);
57
65
  }
58
66
 
@@ -1,5 +1,10 @@
1
1
  @use '@webitel/styleguide/typography' as *;
2
2
 
3
+ :root {
4
+ --content-wrapper-padding: var(--spacing-xs);
5
+ --content-wrapper-gap: var(--spacing-xs);
6
+ }
7
+
3
8
  .table-page {
4
9
  &.wt-page-wrapper {
5
10
  width: 100%;
@@ -21,15 +26,16 @@
21
26
  display: flex;
22
27
  flex-direction: column;
23
28
  width: 100%;
29
+ gap: var(--content-wrapper-gap);
24
30
 
25
31
  &__table-wrapper {
26
32
  display: flex;
27
33
  flex: 1 1 100%;
28
34
  flex-direction: column;
29
35
  justify-content: space-between;
30
- gap: var(--spacing-sm);
31
36
  width: 100%;
32
37
  min-height: 0;
38
+ gap: var(--content-wrapper-gap);
33
39
 
34
40
  .wt-pagination {
35
41
  margin-top: auto;
@@ -37,8 +43,8 @@
37
43
  }
38
44
 
39
45
  &__visible-scroll-wrapper {
40
- height: 100%;
41
46
  overflow: visible;
47
+ height: 100%;
42
48
 
43
49
  .wt-table {
44
50
  overflow: visible;
@@ -47,12 +53,12 @@
47
53
  }
48
54
 
49
55
  .table-title {
50
- display: flex;
51
56
  position: relative;
57
+ display: flex;
58
+ align-items: center;
52
59
  flex-wrap: wrap;
53
60
  justify-content: space-between;
54
- align-items: center;
55
- margin: var(--spacing-sm) 0;
61
+ padding: 0 var(--content-wrapper-padding);
56
62
 
57
63
  &__title {
58
64
  @extend %typo-heading-3;
@@ -0,0 +1,7 @@
1
+ export const EmptyCause = Object.freeze({
2
+ ERROR: 'error',
3
+ FILTERS: 'filters',
4
+ EMPTY: 'empty',
5
+ });
6
+
7
+ export type EmptyCause = (typeof EmptyCause)[keyof typeof EmptyCause];
@@ -5,6 +5,7 @@ import ChatGatewayProvider from './ChatGatewayProvider/ChatGatewayProvider.enum.
5
5
  import { ChipColor } from './ChipColor/ChipColor';
6
6
  import { ComponentSize } from './ComponentSize/ComponentSize';
7
7
  import { CrudAction } from './CrudAction/CrudAction';
8
+ import { EmptyCause } from './EmptyCause/EmptyCause';
8
9
  import IconAction from './IconAction/IconAction.enum.js';
9
10
  import { IconColor } from './IconColor/IconColor';
10
11
  import { ProcessingTableColumnType } from './ProcessingTableColumnType/ProcessingTableColumnType';
@@ -31,6 +32,7 @@ export {
31
32
  ComponentSize,
32
33
  CrmSections,
33
34
  CrudAction,
35
+ EmptyCause,
34
36
  IconAction,
35
37
  IconColor,
36
38
  ProcessingTableColumnType,
@@ -3,6 +3,7 @@ import { computed, inject } from 'vue';
3
3
  import { useI18n } from 'vue-i18n';
4
4
  import { useStore } from 'vuex';
5
5
 
6
+ import { EmptyCause } from '../../../enums/index.js';
6
7
  import { isEmpty } from '../../../scripts/index.js';
7
8
  import EmptyFiltersDark from '../_internals/assets/empty-filters-dark.svg';
8
9
  import EmptyFiltersLight from '../_internals/assets/empty-filters-light.svg';
@@ -73,12 +74,6 @@ export const useTableEmpty = (
73
74
  }
74
75
  }
75
76
 
76
- const EmptyCause = Object.freeze({
77
- ERROR: 'error',
78
- FILTERS: 'filters',
79
- EMPTY: 'empty',
80
- });
81
-
82
77
  const emptyState = computed(() => {
83
78
  return !isLoading?.value && !error?.value && !dataList?.value?.length;
84
79
  });
@@ -184,6 +179,7 @@ export const useTableEmpty = (
184
179
 
185
180
  return {
186
181
  showEmpty: emptyState,
182
+ emptyCause,
187
183
 
188
184
  image,
189
185
  headline,
@@ -1,14 +1,18 @@
1
1
  import { TableScheme } from '@webitel/styleguide/component-schemes';
2
2
 
3
3
  const rowStateStyles = (state, dt) => `
4
- .p-datatable-tbody > tr.row-${state} {
5
- background: ${dt(`datatable.row.${state}Background`)};
6
- }
7
-
8
- .p-datatable-tbody > tr.row-${state}:hover {
9
- background: ${dt(`datatable.row.${state}HoverBackground`)};
10
- }
11
- `;
4
+ .p-datatable-tbody > tr.row-${state},
5
+ .p-datatable-tbody > tr.row-${state} > td,
6
+ .p-datatable-tbody > tr.row-${state} > td.p-datatable-frozen-column {
7
+ background: ${dt(`datatable.row.${state}Background`)};
8
+ }
9
+
10
+ .p-datatable-tbody > tr.row-${state}:hover,
11
+ .p-datatable-tbody > tr.row-${state}:hover > td,
12
+ .p-datatable-tbody > tr.row-${state}:hover > td.p-datatable-frozen-column {
13
+ background: ${dt(`datatable.row.${state}HoverBackground`)};
14
+ }
15
+ `;
12
16
 
13
17
  const table = {
14
18
  ...TableScheme.sizes,
@@ -25,9 +29,10 @@ const table = {
25
29
  background: transparent;
26
30
  }
27
31
 
28
- .p-datatable-tbody > tr:hover {
29
- background: ${dt('datatable.row.hoverBackground')};
30
- }
32
+ .p-datatable-tbody > tr:hover > td,
33
+ .p-datatable-tbody > tr:hover > td.p-datatable-frozen-column {
34
+ background: ${dt('datatable.row.hoverBackground')};
35
+ }
31
36
 
32
37
  ${rowStateStyles('error', dt)}
33
38
  ${rowStateStyles('warning', dt)}
@@ -53,4 +58,4 @@ const table = {
53
58
  `,
54
59
  };
55
60
 
56
- export default table;
61
+ export default table;
@@ -1,5 +1,6 @@
1
1
  import { definePreset } from '@primeuix/themes';
2
2
  import Aura from '@primeuix/themes/aura';
3
+ import primitive from '@webitel/styleguide/primitive';
3
4
  import semantic from '@webitel/styleguide/semantic';
4
5
 
5
6
  import components from './components/components';
@@ -11,6 +12,8 @@ const WebitelTheme = definePreset(Aura, {
11
12
  components,
12
13
 
13
14
  extend,
15
+
16
+ primitive,
14
17
  });
15
18
 
16
19
  export default WebitelTheme;
@@ -0,0 +1,6 @@
1
+ export declare const EmptyCause: Readonly<{
2
+ ERROR: "error";
3
+ FILTERS: "filters";
4
+ EMPTY: "empty";
5
+ }>;
6
+ export type EmptyCause = (typeof EmptyCause)[keyof typeof EmptyCause];
@@ -3,6 +3,7 @@ import AgentStatus from './AgentStatus/AgentStatus.enum.js';
3
3
  import { ButtonColor } from './ButtonColor/ButtonColor';
4
4
  import ChatGatewayProvider from './ChatGatewayProvider/ChatGatewayProvider.enum.js';
5
5
  import { ChipColor } from './ChipColor/ChipColor';
6
+ import { EmptyCause } from './EmptyCause/EmptyCause';
6
7
  import { ComponentSize } from './ComponentSize/ComponentSize';
7
8
  import { CrudAction } from './CrudAction/CrudAction';
8
9
  import IconAction from './IconAction/IconAction.enum.js';
@@ -19,4 +20,4 @@ import WebitelApplications from './WebitelApplications/WebitelApplications.enum.
19
20
  import { WtApplication } from './WebitelApplications/WtApplication';
20
21
  import { WtObject } from './WtObject/WtObject';
21
22
  import { WtTypeExtensionFieldKind } from './WtTypeExtensionFieldKind/WtTypeExtensionFieldKind';
22
- export { AbstractUserStatus, AdminSections, AgentStatus, AuditorSections, ButtonColor, ChatGatewayProvider, ChipColor, ComponentSize, CrmSections, CrudAction, IconAction, IconColor, ProcessingTableColumnType, QueueType, RelativeDatetimeValue, SupervisorSections, TypesExportedSettings, WebitelApplications, WtApplication, WtObject, WtTypeExtensionFieldKind, };
23
+ export { AbstractUserStatus, AdminSections, AgentStatus, AuditorSections, ButtonColor, EmptyCause, ChatGatewayProvider, ChipColor, ComponentSize, CrmSections, CrudAction, IconAction, IconColor, ProcessingTableColumnType, QueueType, RelativeDatetimeValue, SupervisorSections, TypesExportedSettings, WebitelApplications, WtApplication, WtObject, WtTypeExtensionFieldKind, };
@@ -5,6 +5,7 @@ export function useTableEmpty({ dataList, filters, error, isLoading }: {
5
5
  isLoading: any;
6
6
  }, overrides?: {}): {
7
7
  showEmpty: import("vue").ComputedRef<boolean>;
8
+ emptyCause: import("vue").ComputedRef<"filters" | "error" | "empty">;
8
9
  image: import("vue").ComputedRef<any>;
9
10
  headline: import("vue").ComputedRef<any>;
10
11
  title: import("vue").ComputedRef<any>;
@@ -27,6 +27,12 @@ declare const table: {
27
27
  stripedBackground: string;
28
28
  background: string;
29
29
  hoverBackground: string;
30
+ successBackground: string;
31
+ successHoverBackground: string;
32
+ warningBackground: string;
33
+ warningHoverBackground: string;
34
+ errorBackground: string;
35
+ errorHoverBackground: string;
30
36
  selectedBackground: string;
31
37
  color: string;
32
38
  hoverColor: string;
@@ -119,6 +125,12 @@ declare const table: {
119
125
  stripedBackground: string;
120
126
  background: string;
121
127
  hoverBackground: string;
128
+ successBackground: string;
129
+ successHoverBackground: string;
130
+ warningBackground: string;
131
+ warningHoverBackground: string;
132
+ errorBackground: string;
133
+ errorHoverBackground: string;
122
134
  selectedBackground: string;
123
135
  color: string;
124
136
  hoverColor: string;