@snabcentr/vue-ui-lib 4.21.1 → 4.22.0
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/manifest.json +2 -2
- package/dist/release_notes.tmp +2 -2
- package/dist/sc-vue-ui-lib.css +1 -1
- package/dist/sc-vue-ui-lib.js +6859 -6622
- package/dist/sc-vue-ui-lib.js.map +1 -1
- package/dist/sc-vue-ui-lib.umd.cjs +68 -68
- package/dist/sc-vue-ui-lib.umd.cjs.map +1 -1
- package/dist/src/catalog/interfaces/properties/i-catalogable-item-properties.d.ts +5 -0
- package/dist/src/catalog/interfaces/properties/i-product-name-properties.d.ts +5 -0
- package/dist/src/components/catalog/category-collapse-item.vue.d.ts +1 -0
- package/dist/src/components/catalog/category-collapse.vue.d.ts +1 -0
- package/dist/src/components/catalog/dialogs/add-product-to-cart-dialog.vue.d.ts +3 -3
- package/dist/src/components/catalog/dialogs/index.d.ts +1 -0
- package/dist/src/components/catalog/dialogs/product-info-dialog.vue.d.ts +40 -0
- package/dist/src/components/catalog/product-details/index.d.ts +2 -0
- package/dist/src/components/catalog/product-details/product-info-content.vue.d.ts +45 -0
- package/dist/src/components/catalog/product-details/product-info-popover.vue.d.ts +23 -0
- package/dist/src/components/catalog/product-details/product-name.vue.d.ts +2 -1
- package/dist/src/components/dialog/base-dialog.vue.d.ts +1 -1
- package/dist/src/helpers/index.d.ts +1 -0
- package/dist/src/helpers/product-info-helper.d.ts +13 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/product-info-tab.d.ts +4 -0
- package/package.json +1 -1
|
@@ -31,6 +31,11 @@ export interface ICatalogableItemProperties {
|
|
|
31
31
|
* Признак возможности клика по цене (если отображены цены).
|
|
32
32
|
*/
|
|
33
33
|
allowPriceClick?: boolean | ((product: ProductData) => boolean);
|
|
34
|
+
/**
|
|
35
|
+
* Признак необходимости отображения кнопки просмотра описания, характеристик и файлов продукта.
|
|
36
|
+
* Кнопка отображается только у продуктов, у которых заданы описание, характеристики или файлы.
|
|
37
|
+
*/
|
|
38
|
+
showProductInfoButton?: boolean | ((product: ProductData) => boolean);
|
|
34
39
|
/**
|
|
35
40
|
* Признак необходимости отображения истории цен.
|
|
36
41
|
* Значок истории цен будет отображён только при отображении даты установки цены.
|
|
@@ -34,6 +34,11 @@ export interface IProductNameProperties extends IProductActionsProperties {
|
|
|
34
34
|
* Признак необходимости отображения дат планирования производства/поставки и т.д.
|
|
35
35
|
*/
|
|
36
36
|
showPlanningDates?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Признак необходимости отображения кнопки просмотра описания, характеристик и файлов продукта.
|
|
39
|
+
* Кнопка отображается только у продуктов, у которых заданы описание, характеристики или файлы.
|
|
40
|
+
*/
|
|
41
|
+
showProductInfoButton?: boolean | ((product: ProductData) => boolean);
|
|
37
42
|
/**
|
|
38
43
|
* Признак необходимости отображения истории цен.
|
|
39
44
|
* Значок истории цен будет отображён только при отображении даты установки цены.
|
|
@@ -7,6 +7,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<IC
|
|
|
7
7
|
showSlugs: boolean;
|
|
8
8
|
showProperties: boolean;
|
|
9
9
|
showProductCosts: boolean | ((product: ProductData) => boolean);
|
|
10
|
+
showProductInfoButton: boolean | ((product: ProductData) => boolean);
|
|
10
11
|
showPriceHistory: boolean | ((product: ProductData) => boolean);
|
|
11
12
|
showCostDate: boolean | ((product: ProductData) => boolean);
|
|
12
13
|
allowNameClick: boolean | ((product: ProductData) => boolean);
|
|
@@ -8,6 +8,7 @@ declare const _default: import('vue').DefineComponent<ICategoryCollapsePropertie
|
|
|
8
8
|
showSlugs: boolean;
|
|
9
9
|
showProperties: boolean;
|
|
10
10
|
showProductCosts: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
11
|
+
showProductInfoButton: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
11
12
|
showPriceHistory: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
12
13
|
showCostDate: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
13
14
|
allowNameClick: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
@@ -94,12 +94,12 @@ declare const _default: import('vue').DefineComponent<{}, {
|
|
|
94
94
|
closing: (target: import('../..').CloseTarget, cancel: () => void) => any;
|
|
95
95
|
}, string, {
|
|
96
96
|
trapFocus: boolean;
|
|
97
|
-
modalWidth: number;
|
|
98
97
|
sizes: {
|
|
99
98
|
phone: import('../..').IDialogSizeParams;
|
|
100
99
|
tablet: import('../..').IDialogSizeParams;
|
|
101
100
|
default: import('../..').IDialogSizeParams;
|
|
102
101
|
};
|
|
102
|
+
modalWidth: number;
|
|
103
103
|
processing: boolean;
|
|
104
104
|
valid: boolean;
|
|
105
105
|
acceptButton: import('../..').IDialogButtonsParams;
|
|
@@ -126,12 +126,12 @@ declare const _default: import('vue').DefineComponent<{}, {
|
|
|
126
126
|
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
127
127
|
} & Readonly<{
|
|
128
128
|
trapFocus: boolean;
|
|
129
|
-
modalWidth: number;
|
|
130
129
|
sizes: {
|
|
131
130
|
phone: import('../..').IDialogSizeParams;
|
|
132
131
|
tablet: import('../..').IDialogSizeParams;
|
|
133
132
|
default: import('../..').IDialogSizeParams;
|
|
134
133
|
};
|
|
134
|
+
modalWidth: number;
|
|
135
135
|
processing: boolean;
|
|
136
136
|
valid: boolean;
|
|
137
137
|
acceptButton: import('../..').IDialogButtonsParams;
|
|
@@ -156,7 +156,7 @@ declare const _default: import('vue').DefineComponent<{}, {
|
|
|
156
156
|
onOpening?: (() => any) | undefined;
|
|
157
157
|
"onProcessing:cancel"?: ((processingCallback: (processing: boolean) => void) => any) | undefined;
|
|
158
158
|
onClosing?: ((target: import('../..').CloseTarget, cancel: () => void) => any) | undefined;
|
|
159
|
-
}>, "close" | "acceptHandler" | ("trapFocus" | "
|
|
159
|
+
}>, "close" | "acceptHandler" | ("trapFocus" | "sizes" | "modalWidth" | "processing" | "valid" | "acceptButton" | "cancelButton") | "open"> & import('vue').ShallowUnwrapRef<{
|
|
160
160
|
open: () => void;
|
|
161
161
|
close: (target?: import('../..').CloseTarget, force?: boolean) => void;
|
|
162
162
|
acceptHandler: () => void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ProductData } from '@snabcentr/common-lib';
|
|
2
|
+
import { ProductInfoTab } from '../../../types/product-info-tab';
|
|
3
|
+
/**
|
|
4
|
+
* Диалоговое окно просмотра описания, характеристик и файлов продукта.
|
|
5
|
+
*/
|
|
6
|
+
declare const _default: import('vue').DefineComponent<{
|
|
7
|
+
/**
|
|
8
|
+
* Данные о продукте.
|
|
9
|
+
*/
|
|
10
|
+
product: ProductData;
|
|
11
|
+
/**
|
|
12
|
+
* Признак видимости диалога.
|
|
13
|
+
*/
|
|
14
|
+
show?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Вкладка, открываемая изначально. Если у продукта нет её данных, открывается первая доступная.
|
|
17
|
+
*/
|
|
18
|
+
activeTab?: ProductInfoTab;
|
|
19
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
20
|
+
"update:show": (show: boolean) => any;
|
|
21
|
+
}, string, import('vue').PublicProps, Readonly<{
|
|
22
|
+
/**
|
|
23
|
+
* Данные о продукте.
|
|
24
|
+
*/
|
|
25
|
+
product: ProductData;
|
|
26
|
+
/**
|
|
27
|
+
* Признак видимости диалога.
|
|
28
|
+
*/
|
|
29
|
+
show?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Вкладка, открываемая изначально. Если у продукта нет её данных, открывается первая доступная.
|
|
32
|
+
*/
|
|
33
|
+
activeTab?: ProductInfoTab;
|
|
34
|
+
}> & Readonly<{
|
|
35
|
+
"onUpdate:show"?: ((show: boolean) => any) | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
show: boolean;
|
|
38
|
+
activeTab: ProductInfoTab;
|
|
39
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
40
|
+
export default _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ProductData } from '@snabcentr/common-lib';
|
|
2
|
+
import { ProductInfoTab } from '../../../types/product-info-tab';
|
|
3
|
+
/**
|
|
4
|
+
* Компонент просмотра описания, характеристик и файлов продукта.
|
|
5
|
+
*/
|
|
6
|
+
declare const _default: import('vue').DefineComponent<{
|
|
7
|
+
/**
|
|
8
|
+
* Данные о продукте.
|
|
9
|
+
*/
|
|
10
|
+
product: ProductData;
|
|
11
|
+
/**
|
|
12
|
+
* Размер вкладок.
|
|
13
|
+
*/
|
|
14
|
+
size?: "small" | "medium" | "large";
|
|
15
|
+
/**
|
|
16
|
+
* Максимальная высота содержимого вкладки в CSS-единицах; при превышении содержимое прокручивается.
|
|
17
|
+
*/
|
|
18
|
+
maxHeight?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Вкладка, открываемая изначально. Если у продукта нет её данных, открывается первая доступная.
|
|
21
|
+
*/
|
|
22
|
+
activeTab?: ProductInfoTab;
|
|
23
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
24
|
+
/**
|
|
25
|
+
* Данные о продукте.
|
|
26
|
+
*/
|
|
27
|
+
product: ProductData;
|
|
28
|
+
/**
|
|
29
|
+
* Размер вкладок.
|
|
30
|
+
*/
|
|
31
|
+
size?: "small" | "medium" | "large";
|
|
32
|
+
/**
|
|
33
|
+
* Максимальная высота содержимого вкладки в CSS-единицах; при превышении содержимое прокручивается.
|
|
34
|
+
*/
|
|
35
|
+
maxHeight?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Вкладка, открываемая изначально. Если у продукта нет её данных, открывается первая доступная.
|
|
38
|
+
*/
|
|
39
|
+
activeTab?: ProductInfoTab;
|
|
40
|
+
}> & Readonly<{}>, {
|
|
41
|
+
size: "small" | "medium" | "large";
|
|
42
|
+
maxHeight: string;
|
|
43
|
+
activeTab: ProductInfoTab;
|
|
44
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
45
|
+
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ProductData } from '@snabcentr/common-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Компонент всплывающего окна с описанием, характеристиками и файлами продукта.
|
|
4
|
+
*/
|
|
5
|
+
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
6
|
+
/**
|
|
7
|
+
* Данные о продукте.
|
|
8
|
+
*/
|
|
9
|
+
product: ProductData;
|
|
10
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
11
|
+
/**
|
|
12
|
+
* Данные о продукте.
|
|
13
|
+
*/
|
|
14
|
+
product: ProductData;
|
|
15
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
16
|
+
default?(_: {}): any;
|
|
17
|
+
}>;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -14,6 +14,7 @@ declare const _default: import('vue').DefineComponent<IProductNameProperties & I
|
|
|
14
14
|
showCode: boolean;
|
|
15
15
|
showProductCosts: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
16
16
|
showPlanningDates: boolean;
|
|
17
|
+
showProductInfoButton: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
17
18
|
showPriceHistory: boolean;
|
|
18
19
|
showCostDate: boolean;
|
|
19
20
|
allowNameClick: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
|
|
@@ -68,7 +69,7 @@ declare const _default: import('vue').DefineComponent<IProductNameProperties & I
|
|
|
68
69
|
};
|
|
69
70
|
$forceUpdate: () => void;
|
|
70
71
|
$nextTick: typeof import('vue').nextTick;
|
|
71
|
-
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
|
|
72
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
72
73
|
} & Readonly<{}> & Omit<Readonly<{
|
|
73
74
|
images?: import('@snabcentr/common-lib').IImage[];
|
|
74
75
|
}> & Readonly<{}>, "show"> & import('vue').ShallowUnwrapRef<{
|
|
@@ -131,7 +131,6 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
131
131
|
onClosing?: ((target: CloseTarget, cancel: () => void) => any) | undefined;
|
|
132
132
|
}>, {
|
|
133
133
|
trapFocus: boolean;
|
|
134
|
-
modalWidth: number;
|
|
135
134
|
sizes: {
|
|
136
135
|
/**
|
|
137
136
|
* Параметры мобильного представления.
|
|
@@ -146,6 +145,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
146
145
|
*/
|
|
147
146
|
default: IDialogSizeParams;
|
|
148
147
|
};
|
|
148
|
+
modalWidth: number;
|
|
149
149
|
processing: boolean;
|
|
150
150
|
valid: boolean;
|
|
151
151
|
acceptButton: IDialogButtonsParams;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ICatalogItemPropertyFile, ProductData } from '@snabcentr/common-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Возвращает список файлов продукта.
|
|
4
|
+
*
|
|
5
|
+
* @param product Данные о продукте.
|
|
6
|
+
*/
|
|
7
|
+
export declare const getProductInfoFiles: (product: ProductData) => ICatalogItemPropertyFile[];
|
|
8
|
+
/**
|
|
9
|
+
* Проверяет, есть ли у продукта данные, которые видит клиент: описание, характеристики или файлы.
|
|
10
|
+
*
|
|
11
|
+
* @param product Данные о продукте.
|
|
12
|
+
*/
|
|
13
|
+
export declare const hasProductInfo: (product: ProductData) => boolean;
|