@snabcentr/vue-ui-lib 4.3.2 → 4.3.5

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.
@@ -55,4 +55,8 @@ export interface IProductNameProperties extends IProductActionsProperties {
55
55
  * Список коэффициентов пересчёта из валют в рубли в формате ключ значение.
56
56
  */
57
57
  currencyRates?: Record<string, number>;
58
+ /**
59
+ * Признак необходимости отображения значка дополнительной продажи.
60
+ */
61
+ showAdditionalSaleIcon?: boolean;
58
62
  }
@@ -19,6 +19,7 @@ declare const _default: import('vue').DefineComponent<IProductNameProperties & I
19
19
  allowNameClick: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
20
20
  allowPriceClick: boolean | ((product: import('@snabcentr/common-lib').ProductData) => boolean);
21
21
  currencyRates: Record<string, number>;
22
+ showAdditionalSaleIcon: boolean;
22
23
  showProductAddToCartButton: import('../../..').ButtonStates | import('../../..').ButtonStateFunction<import('@snabcentr/common-lib').ProductData>;
23
24
  showProductEditButton: import('../../..').ButtonStates | import('../../..').ButtonStateFunction<import('@snabcentr/common-lib').ProductData>;
24
25
  showProductRequiredButton: import('../../..').ButtonStates | import('../../..').ButtonStateFunction<import('@snabcentr/common-lib').ProductData>;
@@ -1,6 +1,7 @@
1
1
  import { OrderItemBase, IConfiguratorSettingsBase, ICartItemConfiguratorParamsBase, CategoryData } from '@snabcentr/common-lib';
2
2
  import { ICatalogEmits } from '../../catalog';
3
3
  import { Emitter } from 'mitt';
4
+ import { IConfiguratorParamsStrip } from './strip/interfaces/i-configurator-params-strip';
4
5
  import { ConfiguratorsEnum } from './enums/configurators-enum';
5
6
  /**
6
7
  * Динамический компонент для отображения конфигураторов на основе данных категории.
@@ -22,6 +23,10 @@ declare const _default: import('vue').DefineComponent<{
22
23
  * Данные о товаре в корзине.
23
24
  */
24
25
  cartItem?: OrderItemBase<ICartItemConfiguratorParamsBase> | null;
26
+ /**
27
+ * Данные о товарах в корзине.
28
+ */
29
+ cartItems?: OrderItemBase<IConfiguratorParamsStrip>[] | null;
25
30
  /**
26
31
  * Данные о категории.
27
32
  */
@@ -43,6 +48,10 @@ declare const _default: import('vue').DefineComponent<{
43
48
  * Данные о товаре в корзине.
44
49
  */
45
50
  cartItem?: OrderItemBase<ICartItemConfiguratorParamsBase> | null;
51
+ /**
52
+ * Данные о товарах в корзине.
53
+ */
54
+ cartItems?: OrderItemBase<IConfiguratorParamsStrip>[] | null;
46
55
  /**
47
56
  * Данные о категории.
48
57
  */
@@ -1,2 +1,3 @@
1
+ export * from './interfaces';
1
2
  export { default as ScMetalForDoorsConfiguratorForm } from './metal-for-doors-configurator-form.vue';
2
3
  export { default as ScMetalForDoorsConfigurator } from './metal-for-doors-configurator.vue';
@@ -1,5 +1,6 @@
1
1
  export * from './classes/configurator-settings-mosquito';
2
2
  export * from './interfaces/i-configurator-settings-mosquito';
3
+ export * from './interfaces/i-configurator-params-mosquito';
3
4
  export { default as ScMosquitoConfiguratorForm } from './mosquito-configurator-form.vue';
4
5
  export { default as ScMosquitoConfiguratorMeasurementInstructions } from './mosquito-configurator-measurement-instructions.vue';
5
6
  export { default as ScMosquitoConfiguratorPreview } from './mosquito-configurator-preview.vue';
@@ -1,3 +1,4 @@
1
+ export * from './interfaces';
1
2
  export { default as ScStripConfiguratorForm } from './strip-configurator-form.vue';
2
3
  export { default as ScStripConfiguratorLineItem } from './strip-configurator-line-item.vue';
3
4
  export { default as ScStripConfiguratorPreview } from './strip-configurator-preview.vue';
@@ -0,0 +1,382 @@
1
+ /**
2
+ * Компонент ссылки для просмотра спецификации позиции заказа.
3
+ */
4
+ declare const _default: import('vue').DefineComponent<{
5
+ /**
6
+ * URL изображения спецификации.
7
+ */
8
+ src: string;
9
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
10
+ /**
11
+ * URL изображения спецификации.
12
+ */
13
+ src: string;
14
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
15
+ 'image-reference': import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
16
+ onPreviewPrev: import('vue').PropType<() => void>;
17
+ onPreviewNext: import('vue').PropType<() => void>;
18
+ showToolbar: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ showToolbarTooltip: BooleanConstructor;
23
+ renderToolbar: import('vue').PropType<import('naive-ui').ImageRenderToolbar>;
24
+ theme: import('vue').PropType<import('naive-ui/es/_mixins').Theme<"Image", {
25
+ toolbarIconColor: string;
26
+ toolbarColor: string;
27
+ toolbarBoxShadow: string;
28
+ toolbarBorderRadius: string;
29
+ }, {
30
+ Tooltip: import('naive-ui/es/_mixins').Theme<"Tooltip", {
31
+ borderRadius: string;
32
+ boxShadow: string;
33
+ color: string;
34
+ textColor: string;
35
+ padding: string;
36
+ }, {
37
+ Popover: import('naive-ui/es/_mixins').Theme<"Popover", {
38
+ fontSize: string;
39
+ borderRadius: string;
40
+ color: string;
41
+ dividerColor: string;
42
+ textColor: string;
43
+ boxShadow: string;
44
+ space: string;
45
+ spaceArrow: string;
46
+ arrowOffset: string;
47
+ arrowOffsetVertical: string;
48
+ arrowHeight: string;
49
+ padding: string;
50
+ }, {
51
+ Scrollbar: import('naive-ui/es/_mixins').Theme<"Scrollbar", {
52
+ height: string;
53
+ width: string;
54
+ borderRadius: string;
55
+ color: string;
56
+ colorHover: string;
57
+ railInsetHorizontalBottom: string;
58
+ railInsetHorizontalTop: string;
59
+ railInsetVerticalRight: string;
60
+ railInsetVerticalLeft: string;
61
+ railColor: string;
62
+ }, any>;
63
+ }>;
64
+ }>;
65
+ }>>;
66
+ themeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Image", {
67
+ toolbarIconColor: string;
68
+ toolbarColor: string;
69
+ toolbarBoxShadow: string;
70
+ toolbarBorderRadius: string;
71
+ }, {
72
+ Tooltip: import('naive-ui/es/_mixins').Theme<"Tooltip", {
73
+ borderRadius: string;
74
+ boxShadow: string;
75
+ color: string;
76
+ textColor: string;
77
+ padding: string;
78
+ }, {
79
+ Popover: import('naive-ui/es/_mixins').Theme<"Popover", {
80
+ fontSize: string;
81
+ borderRadius: string;
82
+ color: string;
83
+ dividerColor: string;
84
+ textColor: string;
85
+ boxShadow: string;
86
+ space: string;
87
+ spaceArrow: string;
88
+ arrowOffset: string;
89
+ arrowOffsetVertical: string;
90
+ arrowHeight: string;
91
+ padding: string;
92
+ }, {
93
+ Scrollbar: import('naive-ui/es/_mixins').Theme<"Scrollbar", {
94
+ height: string;
95
+ width: string;
96
+ borderRadius: string;
97
+ color: string;
98
+ colorHover: string;
99
+ railInsetHorizontalBottom: string;
100
+ railInsetHorizontalTop: string;
101
+ railInsetVerticalRight: string;
102
+ railInsetVerticalLeft: string;
103
+ railColor: string;
104
+ }, any>;
105
+ }>;
106
+ }>;
107
+ }>>>;
108
+ builtinThemeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Image", {
109
+ toolbarIconColor: string;
110
+ toolbarColor: string;
111
+ toolbarBoxShadow: string;
112
+ toolbarBorderRadius: string;
113
+ }, {
114
+ Tooltip: import('naive-ui/es/_mixins').Theme<"Tooltip", {
115
+ borderRadius: string;
116
+ boxShadow: string;
117
+ color: string;
118
+ textColor: string;
119
+ padding: string;
120
+ }, {
121
+ Popover: import('naive-ui/es/_mixins').Theme<"Popover", {
122
+ fontSize: string;
123
+ borderRadius: string;
124
+ color: string;
125
+ dividerColor: string;
126
+ textColor: string;
127
+ boxShadow: string;
128
+ space: string;
129
+ spaceArrow: string;
130
+ arrowOffset: string;
131
+ arrowOffsetVertical: string;
132
+ arrowHeight: string;
133
+ padding: string;
134
+ }, {
135
+ Scrollbar: import('naive-ui/es/_mixins').Theme<"Scrollbar", {
136
+ height: string;
137
+ width: string;
138
+ borderRadius: string;
139
+ color: string;
140
+ colorHover: string;
141
+ railInsetHorizontalBottom: string;
142
+ railInsetHorizontalTop: string;
143
+ railInsetVerticalRight: string;
144
+ railInsetVerticalLeft: string;
145
+ railColor: string;
146
+ }, any>;
147
+ }>;
148
+ }>;
149
+ }>>>;
150
+ alt: StringConstructor;
151
+ height: import('vue').PropType<string | number>;
152
+ imgProps: import('vue').PropType<import('vue').ImgHTMLAttributes>;
153
+ previewedImgProps: import('vue').PropType<import('vue').ImgHTMLAttributes>;
154
+ lazy: BooleanConstructor;
155
+ intersectionObserverOptions: import('vue').PropType<import('naive-ui/es/image/src/utils').IntersectionObserverOptions>;
156
+ objectFit: {
157
+ type: import('vue').PropType<"fill" | "contain" | "cover" | "none" | "scale-down">;
158
+ default: string;
159
+ };
160
+ previewSrc: StringConstructor;
161
+ fallbackSrc: StringConstructor;
162
+ width: import('vue').PropType<string | number>;
163
+ src: StringConstructor;
164
+ previewDisabled: BooleanConstructor;
165
+ loadDescription: StringConstructor;
166
+ onError: import('vue').PropType<(e: Event) => void>;
167
+ onLoad: import('vue').PropType<(e: Event) => void>;
168
+ }>> & Readonly<{}>, {
169
+ click: () => void;
170
+ showPreview: () => void;
171
+ mergedClsPrefix: import('vue').Ref<string, string>;
172
+ groupId: string | undefined;
173
+ previewInstRef: import('vue').Ref<{
174
+ setThumbnailEl: (e: HTMLImageElement | null) => void;
175
+ } | null, import('naive-ui').ImagePreviewInst | {
176
+ setThumbnailEl: (e: HTMLImageElement | null) => void;
177
+ } | null>;
178
+ imageRef: import('vue').Ref<HTMLImageElement | null, HTMLImageElement | null>;
179
+ mergedPreviewSrc: import('vue').ComputedRef<string | undefined>;
180
+ showError: import('vue').Ref<boolean, boolean>;
181
+ shouldStartLoading: import('vue').Ref<boolean, boolean>;
182
+ loaded: import('vue').Ref<boolean, boolean>;
183
+ mergedOnClick: (e: PointerEvent) => void;
184
+ onPreviewClose: () => void;
185
+ mergedOnError: (e: Event) => void;
186
+ mergedOnLoad: (e: Event) => void;
187
+ previewShow: import('vue').Ref<boolean, boolean>;
188
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
189
+ objectFit: "fill" | "none" | "contain" | "cover" | "scale-down";
190
+ lazy: boolean;
191
+ showToolbar: boolean;
192
+ showToolbarTooltip: boolean;
193
+ previewDisabled: boolean;
194
+ }, true, {}, import('vue').SlotsType<import('naive-ui').ImageSlots>, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
195
+ P: {};
196
+ B: {};
197
+ D: {};
198
+ C: {};
199
+ M: {};
200
+ Defaults: {};
201
+ }, Readonly<import('vue').ExtractPropTypes<{
202
+ onPreviewPrev: import('vue').PropType<() => void>;
203
+ onPreviewNext: import('vue').PropType<() => void>;
204
+ showToolbar: {
205
+ type: BooleanConstructor;
206
+ default: boolean;
207
+ };
208
+ showToolbarTooltip: BooleanConstructor;
209
+ renderToolbar: import('vue').PropType<import('naive-ui').ImageRenderToolbar>;
210
+ theme: import('vue').PropType<import('naive-ui/es/_mixins').Theme<"Image", {
211
+ toolbarIconColor: string;
212
+ toolbarColor: string;
213
+ toolbarBoxShadow: string;
214
+ toolbarBorderRadius: string;
215
+ }, {
216
+ Tooltip: import('naive-ui/es/_mixins').Theme<"Tooltip", {
217
+ borderRadius: string;
218
+ boxShadow: string;
219
+ color: string;
220
+ textColor: string;
221
+ padding: string;
222
+ }, {
223
+ Popover: import('naive-ui/es/_mixins').Theme<"Popover", {
224
+ fontSize: string;
225
+ borderRadius: string;
226
+ color: string;
227
+ dividerColor: string;
228
+ textColor: string;
229
+ boxShadow: string;
230
+ space: string;
231
+ spaceArrow: string;
232
+ arrowOffset: string;
233
+ arrowOffsetVertical: string;
234
+ arrowHeight: string;
235
+ padding: string;
236
+ }, {
237
+ Scrollbar: import('naive-ui/es/_mixins').Theme<"Scrollbar", {
238
+ height: string;
239
+ width: string;
240
+ borderRadius: string;
241
+ color: string;
242
+ colorHover: string;
243
+ railInsetHorizontalBottom: string;
244
+ railInsetHorizontalTop: string;
245
+ railInsetVerticalRight: string;
246
+ railInsetVerticalLeft: string;
247
+ railColor: string;
248
+ }, any>;
249
+ }>;
250
+ }>;
251
+ }>>;
252
+ themeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Image", {
253
+ toolbarIconColor: string;
254
+ toolbarColor: string;
255
+ toolbarBoxShadow: string;
256
+ toolbarBorderRadius: string;
257
+ }, {
258
+ Tooltip: import('naive-ui/es/_mixins').Theme<"Tooltip", {
259
+ borderRadius: string;
260
+ boxShadow: string;
261
+ color: string;
262
+ textColor: string;
263
+ padding: string;
264
+ }, {
265
+ Popover: import('naive-ui/es/_mixins').Theme<"Popover", {
266
+ fontSize: string;
267
+ borderRadius: string;
268
+ color: string;
269
+ dividerColor: string;
270
+ textColor: string;
271
+ boxShadow: string;
272
+ space: string;
273
+ spaceArrow: string;
274
+ arrowOffset: string;
275
+ arrowOffsetVertical: string;
276
+ arrowHeight: string;
277
+ padding: string;
278
+ }, {
279
+ Scrollbar: import('naive-ui/es/_mixins').Theme<"Scrollbar", {
280
+ height: string;
281
+ width: string;
282
+ borderRadius: string;
283
+ color: string;
284
+ colorHover: string;
285
+ railInsetHorizontalBottom: string;
286
+ railInsetHorizontalTop: string;
287
+ railInsetVerticalRight: string;
288
+ railInsetVerticalLeft: string;
289
+ railColor: string;
290
+ }, any>;
291
+ }>;
292
+ }>;
293
+ }>>>;
294
+ builtinThemeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Image", {
295
+ toolbarIconColor: string;
296
+ toolbarColor: string;
297
+ toolbarBoxShadow: string;
298
+ toolbarBorderRadius: string;
299
+ }, {
300
+ Tooltip: import('naive-ui/es/_mixins').Theme<"Tooltip", {
301
+ borderRadius: string;
302
+ boxShadow: string;
303
+ color: string;
304
+ textColor: string;
305
+ padding: string;
306
+ }, {
307
+ Popover: import('naive-ui/es/_mixins').Theme<"Popover", {
308
+ fontSize: string;
309
+ borderRadius: string;
310
+ color: string;
311
+ dividerColor: string;
312
+ textColor: string;
313
+ boxShadow: string;
314
+ space: string;
315
+ spaceArrow: string;
316
+ arrowOffset: string;
317
+ arrowOffsetVertical: string;
318
+ arrowHeight: string;
319
+ padding: string;
320
+ }, {
321
+ Scrollbar: import('naive-ui/es/_mixins').Theme<"Scrollbar", {
322
+ height: string;
323
+ width: string;
324
+ borderRadius: string;
325
+ color: string;
326
+ colorHover: string;
327
+ railInsetHorizontalBottom: string;
328
+ railInsetHorizontalTop: string;
329
+ railInsetVerticalRight: string;
330
+ railInsetVerticalLeft: string;
331
+ railColor: string;
332
+ }, any>;
333
+ }>;
334
+ }>;
335
+ }>>>;
336
+ alt: StringConstructor;
337
+ height: import('vue').PropType<string | number>;
338
+ imgProps: import('vue').PropType<import('vue').ImgHTMLAttributes>;
339
+ previewedImgProps: import('vue').PropType<import('vue').ImgHTMLAttributes>;
340
+ lazy: BooleanConstructor;
341
+ intersectionObserverOptions: import('vue').PropType<import('naive-ui/es/image/src/utils').IntersectionObserverOptions>;
342
+ objectFit: {
343
+ type: import('vue').PropType<"fill" | "contain" | "cover" | "none" | "scale-down">;
344
+ default: string;
345
+ };
346
+ previewSrc: StringConstructor;
347
+ fallbackSrc: StringConstructor;
348
+ width: import('vue').PropType<string | number>;
349
+ src: StringConstructor;
350
+ previewDisabled: BooleanConstructor;
351
+ loadDescription: StringConstructor;
352
+ onError: import('vue').PropType<(e: Event) => void>;
353
+ onLoad: import('vue').PropType<(e: Event) => void>;
354
+ }>> & Readonly<{}>, {
355
+ click: () => void;
356
+ showPreview: () => void;
357
+ mergedClsPrefix: import('vue').Ref<string, string>;
358
+ groupId: string | undefined;
359
+ previewInstRef: import('vue').Ref<{
360
+ setThumbnailEl: (e: HTMLImageElement | null) => void;
361
+ } | null, import('naive-ui').ImagePreviewInst | {
362
+ setThumbnailEl: (e: HTMLImageElement | null) => void;
363
+ } | null>;
364
+ imageRef: import('vue').Ref<HTMLImageElement | null, HTMLImageElement | null>;
365
+ mergedPreviewSrc: import('vue').ComputedRef<string | undefined>;
366
+ showError: import('vue').Ref<boolean, boolean>;
367
+ shouldStartLoading: import('vue').Ref<boolean, boolean>;
368
+ loaded: import('vue').Ref<boolean, boolean>;
369
+ mergedOnClick: (e: PointerEvent) => void;
370
+ onPreviewClose: () => void;
371
+ mergedOnError: (e: Event) => void;
372
+ mergedOnLoad: (e: Event) => void;
373
+ previewShow: import('vue').Ref<boolean, boolean>;
374
+ }, {}, {}, {}, {
375
+ objectFit: "fill" | "none" | "contain" | "cover" | "scale-down";
376
+ lazy: boolean;
377
+ showToolbar: boolean;
378
+ showToolbarTooltip: boolean;
379
+ previewDisabled: boolean;
380
+ }> | null;
381
+ }, any>;
382
+ export default _default;
@@ -47,4 +47,13 @@ export interface IOrderItemEmits {
47
47
  */
48
48
  item: Readonly<IOrderItemBase>;
49
49
  };
50
+ /**
51
+ * Событие удаления позиции заказа.
52
+ */
53
+ 'order-item:delete': {
54
+ /**
55
+ * Данные о позиции заказа.
56
+ */
57
+ item: Readonly<IOrderItemBase>;
58
+ };
50
59
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [],
5
5
  "author": "Sergey S. Smirnov <dev@snabcentr.com>",
6
6
  "type": "module",
7
- "version": "4.3.2",
7
+ "version": "4.3.5",
8
8
  "license": "ISC",
9
9
  "scripts": {
10
10
  "dev": "vite",
@@ -45,7 +45,7 @@
45
45
  "@iconify-json/logos": "^1.2.9",
46
46
  "@iconify-json/mdi": "^1.2.3",
47
47
  "@iconify-json/tabler": "^1.2.23",
48
- "@snabcentr/common-lib": "^1.89.0 || ^2.4.0",
48
+ "@snabcentr/common-lib": "^1.89.0 || ^2.6.0",
49
49
  "@tailwindcss/container-queries": "^0.1.1",
50
50
  "date-fns": "^3.6.0",
51
51
  "libphonenumber-js": "^1.12.23",