@snabcentr/client-ui 0.2.14 → 0.2.19
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +4 -4
- package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +3 -3
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +2 -2
- package/esm2020/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +3 -3
- package/esm2020/files/services/tree-icon.service.mjs +2 -2
- package/esm2020/icons/sc-client-ui-icons-name.mjs +28 -44
- package/esm2020/validators/stepValidator.mjs +4 -6
- package/fesm2015/snabcentr-client-ui.mjs +39 -57
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +39 -57
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/icons/sc-client-ui-icons-name.d.ts +0 -1
- package/icons/svg-pack/scIconArrowForward.svg +11 -0
- package/icons/svg-pack/{scIconArrowDownLargeEnd.svg → scIconArrowLargeEnd.svg} +1 -1
- package/icons/svg-pack/scIconArrowLargeStart.svg +12 -0
- package/icons/svg-pack/scIconArrowReturn.svg +2 -2
- package/icons/svg-pack/scIconCanopy.svg +12 -0
- package/icons/svg-pack/scIconCatalogBack.svg +12 -0
- package/icons/svg-pack/scIconFastener.svg +11 -0
- package/icons/svg-pack/scIconFoam.svg +11 -0
- package/icons/svg-pack/scIconFoamBalloon.svg +13 -0
- package/icons/svg-pack/scIconMosquitoNet.svg +11 -0
- package/icons/svg-pack/scIconPlasticProfile.svg +11 -0
- package/icons/svg-pack/scIconPromoMaterials.svg +14 -0
- package/icons/svg-pack/scIconSandwich.svg +15 -0
- package/icons/svg-pack/scIconSandwichPanels.svg +11 -0
- package/icons/svg-pack/scIconSiding.svg +14 -0
- package/icons/svg-pack/scIconSmile.svg +14 -0
- package/icons/svg-pack/scIconTemplates.svg +11 -0
- package/icons/svg-pack/scIconWindowsill.svg +15 -0
- package/package.json +1 -1
- package/validators/stepValidator.d.ts +2 -2
- package/icons/svg-pack/scIconArrowDown.svg +0 -11
- package/icons/svg-pack/scIconArrowDownLarge.svg +0 -11
- package/icons/svg-pack/scIconArrowLeft.svg +0 -11
- package/icons/svg-pack/scIconArrowRight.svg +0 -11
- package/icons/svg-pack/scIconArrowUp.svg +0 -11
- package/icons/svg-pack/scIconBasket.svg +0 -11
- package/icons/svg-pack/scIconBubble.svg +0 -11
- package/icons/svg-pack/scIconCancel.svg +0 -18
- package/icons/svg-pack/scIconCatalog.svg +0 -16
- package/icons/svg-pack/scIconClip.svg +0 -11
- package/icons/svg-pack/scIconCross.svg +0 -11
- package/icons/svg-pack/scIconDone.svg +0 -12
- package/icons/svg-pack/scIconDownloading.svg +0 -11
- package/icons/svg-pack/scIconEye.svg +0 -11
- package/icons/svg-pack/scIconFolderPlus.svg +0 -11
- package/icons/svg-pack/scIconHamburger.svg +0 -13
- package/icons/svg-pack/scIconImage.svg +0 -11
- package/icons/svg-pack/scIconLike.svg +0 -11
- package/icons/svg-pack/scIconLocation.svg +0 -11
- package/icons/svg-pack/scIconLogOut.svg +0 -13
- package/icons/svg-pack/scIconLogOut2.svg +0 -13
- package/icons/svg-pack/scIconMinus.svg +0 -11
- package/icons/svg-pack/scIconMoney2.svg +0 -11
- package/icons/svg-pack/scIconPhone.svg +0 -11
- package/icons/svg-pack/scIconPlus.svg +0 -11
- package/icons/svg-pack/scIconQuestion.svg +0 -11
- package/icons/svg-pack/scIconRefresh.svg +0 -11
- package/icons/svg-pack/scIconSettings.svg +0 -11
- package/icons/svg-pack/scIconTick.svg +0 -11
- package/icons/svg-pack/scIconVerticalThreeDots.svg +0 -11
- package/icons/svg-pack/scIconViewGrid.svg +0 -11
@@ -1,107 +1,91 @@
|
|
1
1
|
/**
|
2
2
|
* Список иконок.
|
3
|
-
* TODO: TASK[#7779] Добавить иконки отдельных значков для соц. сетей после добавления их в кит дизайна.
|
4
3
|
*/
|
5
4
|
export const scClientUiIconsName = [
|
6
|
-
'scIconCalendar',
|
7
5
|
'scIconWordFile',
|
6
|
+
'scIconWindowsill',
|
8
7
|
'scIconWarning',
|
8
|
+
'scIconSandwichPanels',
|
9
9
|
'scIconWallet',
|
10
10
|
'scIconViewTree',
|
11
|
-
'scIconMinus',
|
12
11
|
'scIconViewInline',
|
13
|
-
'scIconViewGrid',
|
14
|
-
'scIconVerticalThreeDots',
|
15
12
|
'scIconTop',
|
16
|
-
'
|
13
|
+
'scIconTemplates',
|
17
14
|
'scIconTasks',
|
18
15
|
'scIconSuitcase',
|
19
16
|
'scIconStar',
|
17
|
+
'scIconSocialWhatsapp',
|
18
|
+
'scIconSocialVk',
|
19
|
+
'scIconSocialViber',
|
20
|
+
'scIconSocialTelegram',
|
21
|
+
'scIconSocialQR',
|
22
|
+
'scIconSocialInstagram',
|
23
|
+
'scIconSocialFacebook',
|
24
|
+
'scIconSocialEmail',
|
25
|
+
'scIconSocialCopy',
|
26
|
+
'scIconSmile',
|
27
|
+
'scIconSiding',
|
20
28
|
'scIconShare',
|
21
|
-
'scIconSettings',
|
22
29
|
'scIconSend',
|
23
30
|
'scIconSearch',
|
24
31
|
'scIconSave',
|
32
|
+
'scIconSandwich',
|
25
33
|
'scIconRocket',
|
26
34
|
'scIconRequisites',
|
27
35
|
'scIconRepeat',
|
28
|
-
'scIconRefresh',
|
29
36
|
'scIconReclamation',
|
30
|
-
'scIconQuestion',
|
31
37
|
'scIconQRCodeScan',
|
38
|
+
'scIconPromoMaterials',
|
32
39
|
'scIconProfile',
|
33
40
|
'scIconPrice',
|
34
|
-
'
|
35
|
-
'scIconPhone',
|
41
|
+
'scIconPlasticProfile',
|
36
42
|
'scIconPercentage',
|
37
43
|
'scIconPdfFile',
|
38
44
|
'scIconPalette',
|
39
45
|
'scIconOffer',
|
40
46
|
'scIconNews',
|
41
|
-
'
|
47
|
+
'scIconMosquitoNet',
|
42
48
|
'scIconMoney',
|
43
49
|
'scIconMail',
|
44
|
-
'scIconLogOut2',
|
45
|
-
'scIconLogOut',
|
46
50
|
'scIconLogIn',
|
47
51
|
'scIconLockOpen',
|
48
52
|
'scIconLock',
|
49
|
-
'scIconLocation',
|
50
53
|
'scIconList',
|
51
|
-
'scIconLike',
|
52
|
-
'scIconImage',
|
53
54
|
'scIconHome',
|
54
55
|
'scIconHistory',
|
55
56
|
'scIconHeartFill',
|
56
57
|
'scIconHeart',
|
57
|
-
'scIconHamburger',
|
58
58
|
'scIconGraph',
|
59
|
-
'scIconFolderPlus',
|
60
59
|
'scIconFolderOpen',
|
61
60
|
'scIconFolder',
|
61
|
+
'scIconFoam',
|
62
|
+
'scIconFoamBalloon',
|
62
63
|
'scIconFilter',
|
63
64
|
'scIconFile',
|
64
65
|
'scIconFavoriteFill',
|
65
66
|
'scIconFavorite',
|
66
|
-
'
|
67
|
+
'scIconFastener',
|
67
68
|
'scIconExcelFile',
|
68
69
|
'scIconError',
|
69
70
|
'scIconEdit',
|
70
|
-
'scIconDownloading',
|
71
|
-
'scIconDone',
|
72
71
|
'scIconDeleteProfile',
|
73
|
-
'scIconCross',
|
74
72
|
'scIconContacts',
|
75
73
|
'scIconConfigurator',
|
76
74
|
'scIconClock',
|
77
|
-
'scIconClip',
|
78
75
|
'scIconClients',
|
79
|
-
'
|
76
|
+
'scIconCatalogBack',
|
80
77
|
'scIconCart',
|
81
|
-
'
|
82
|
-
'
|
78
|
+
'scIconCanopy',
|
79
|
+
'scIconCalendar',
|
83
80
|
'scIconBook',
|
84
81
|
'scIconBell',
|
85
|
-
'scIconBasket',
|
86
82
|
'scIconBag',
|
87
83
|
'scIconAttention',
|
88
|
-
'scIconArrowUp',
|
89
|
-
'scIconArrowRight',
|
90
84
|
'scIconArrowReturn',
|
91
|
-
'
|
92
|
-
'
|
93
|
-
'
|
94
|
-
'scIconArrowDown',
|
85
|
+
'scIconArrowLargeStart',
|
86
|
+
'scIconArrowLargeEnd',
|
87
|
+
'scIconArrowForward',
|
95
88
|
'scIconApplication',
|
96
89
|
'scIconAddProfile',
|
97
|
-
'scIconSocialCopy',
|
98
|
-
'scIconSocialEmail',
|
99
|
-
'scIconSocialFacebook',
|
100
|
-
'scIconSocialInstagram',
|
101
|
-
'scIconSocialQR',
|
102
|
-
'scIconSocialTelegram',
|
103
|
-
'scIconSocialViber',
|
104
|
-
'scIconSocialVk',
|
105
|
-
'scIconSocialWhatsapp',
|
106
90
|
];
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2xpZW50LXVpLWljb25zLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvaWNvbnMvc2MtY2xpZW50LXVpLWljb25zLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsY0FBYztJQUNkLGFBQWE7SUFDYixZQUFZO0lBQ1osY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtJQUNiLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFlBQVk7SUFDWixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixrQkFBa0I7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog0KHQv9C40YHQvtC6INC40LrQvtC90L7Qui5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjQ2xpZW50VWlJY29uc05hbWUgPSBbXG4gICAgJ3NjSWNvbldvcmRGaWxlJyxcbiAgICAnc2NJY29uV2luZG93c2lsbCcsXG4gICAgJ3NjSWNvbldhcm5pbmcnLFxuICAgICdzY0ljb25TYW5kd2ljaFBhbmVscycsXG4gICAgJ3NjSWNvbldhbGxldCcsXG4gICAgJ3NjSWNvblZpZXdUcmVlJyxcbiAgICAnc2NJY29uVmlld0lubGluZScsXG4gICAgJ3NjSWNvblRvcCcsXG4gICAgJ3NjSWNvblRlbXBsYXRlcycsXG4gICAgJ3NjSWNvblRhc2tzJyxcbiAgICAnc2NJY29uU3VpdGNhc2UnLFxuICAgICdzY0ljb25TdGFyJyxcbiAgICAnc2NJY29uU29jaWFsV2hhdHNhcHAnLFxuICAgICdzY0ljb25Tb2NpYWxWaycsXG4gICAgJ3NjSWNvblNvY2lhbFZpYmVyJyxcbiAgICAnc2NJY29uU29jaWFsVGVsZWdyYW0nLFxuICAgICdzY0ljb25Tb2NpYWxRUicsXG4gICAgJ3NjSWNvblNvY2lhbEluc3RhZ3JhbScsXG4gICAgJ3NjSWNvblNvY2lhbEZhY2Vib29rJyxcbiAgICAnc2NJY29uU29jaWFsRW1haWwnLFxuICAgICdzY0ljb25Tb2NpYWxDb3B5JyxcbiAgICAnc2NJY29uU21pbGUnLFxuICAgICdzY0ljb25TaWRpbmcnLFxuICAgICdzY0ljb25TaGFyZScsXG4gICAgJ3NjSWNvblNlbmQnLFxuICAgICdzY0ljb25TZWFyY2gnLFxuICAgICdzY0ljb25TYXZlJyxcbiAgICAnc2NJY29uU2FuZHdpY2gnLFxuICAgICdzY0ljb25Sb2NrZXQnLFxuICAgICdzY0ljb25SZXF1aXNpdGVzJyxcbiAgICAnc2NJY29uUmVwZWF0JyxcbiAgICAnc2NJY29uUmVjbGFtYXRpb24nLFxuICAgICdzY0ljb25RUkNvZGVTY2FuJyxcbiAgICAnc2NJY29uUHJvbW9NYXRlcmlhbHMnLFxuICAgICdzY0ljb25Qcm9maWxlJyxcbiAgICAnc2NJY29uUHJpY2UnLFxuICAgICdzY0ljb25QbGFzdGljUHJvZmlsZScsXG4gICAgJ3NjSWNvblBlcmNlbnRhZ2UnLFxuICAgICdzY0ljb25QZGZGaWxlJyxcbiAgICAnc2NJY29uUGFsZXR0ZScsXG4gICAgJ3NjSWNvbk9mZmVyJyxcbiAgICAnc2NJY29uTmV3cycsXG4gICAgJ3NjSWNvbk1vc3F1aXRvTmV0JyxcbiAgICAnc2NJY29uTW9uZXknLFxuICAgICdzY0ljb25NYWlsJyxcbiAgICAnc2NJY29uTG9nSW4nLFxuICAgICdzY0ljb25Mb2NrT3BlbicsXG4gICAgJ3NjSWNvbkxvY2snLFxuICAgICdzY0ljb25MaXN0JyxcbiAgICAnc2NJY29uSG9tZScsXG4gICAgJ3NjSWNvbkhpc3RvcnknLFxuICAgICdzY0ljb25IZWFydEZpbGwnLFxuICAgICdzY0ljb25IZWFydCcsXG4gICAgJ3NjSWNvbkdyYXBoJyxcbiAgICAnc2NJY29uRm9sZGVyT3BlbicsXG4gICAgJ3NjSWNvbkZvbGRlcicsXG4gICAgJ3NjSWNvbkZvYW0nLFxuICAgICdzY0ljb25Gb2FtQmFsbG9vbicsXG4gICAgJ3NjSWNvbkZpbHRlcicsXG4gICAgJ3NjSWNvbkZpbGUnLFxuICAgICdzY0ljb25GYXZvcml0ZUZpbGwnLFxuICAgICdzY0ljb25GYXZvcml0ZScsXG4gICAgJ3NjSWNvbkZhc3RlbmVyJyxcbiAgICAnc2NJY29uRXhjZWxGaWxlJyxcbiAgICAnc2NJY29uRXJyb3InLFxuICAgICdzY0ljb25FZGl0JyxcbiAgICAnc2NJY29uRGVsZXRlUHJvZmlsZScsXG4gICAgJ3NjSWNvbkNvbnRhY3RzJyxcbiAgICAnc2NJY29uQ29uZmlndXJhdG9yJyxcbiAgICAnc2NJY29uQ2xvY2snLFxuICAgICdzY0ljb25DbGllbnRzJyxcbiAgICAnc2NJY29uQ2F0YWxvZ0JhY2snLFxuICAgICdzY0ljb25DYXJ0JyxcbiAgICAnc2NJY29uQ2Fub3B5JyxcbiAgICAnc2NJY29uQ2FsZW5kYXInLFxuICAgICdzY0ljb25Cb29rJyxcbiAgICAnc2NJY29uQmVsbCcsXG4gICAgJ3NjSWNvbkJhZycsXG4gICAgJ3NjSWNvbkF0dGVudGlvbicsXG4gICAgJ3NjSWNvbkFycm93UmV0dXJuJyxcbiAgICAnc2NJY29uQXJyb3dMYXJnZVN0YXJ0JyxcbiAgICAnc2NJY29uQXJyb3dMYXJnZUVuZCcsXG4gICAgJ3NjSWNvbkFycm93Rm9yd2FyZCcsXG4gICAgJ3NjSWNvbkFwcGxpY2F0aW9uJyxcbiAgICAnc2NJY29uQWRkUHJvZmlsZScsXG5dO1xuIl19
|
@@ -2,16 +2,14 @@
|
|
2
2
|
* Проверяет кратность значения.
|
3
3
|
*
|
4
4
|
* @param step Шаг кратности.
|
5
|
-
* @param
|
5
|
+
* @param precision Точность, количество чисел после запятой.
|
6
6
|
*/
|
7
|
-
export function stepValidator(step,
|
7
|
+
export function stepValidator(step, precision = 3) {
|
8
8
|
return ({ value }) => {
|
9
9
|
if (value) {
|
10
|
-
|
11
|
-
const closestMultiple = Math.round(controlValue / step) * step;
|
12
|
-
return Math.abs(controlValue - closestMultiple) > tolerance ? { error: `Число не кратно ${step}` } : null;
|
10
|
+
return Number((value / step).toFixed(precision)) % 1 !== 0 ? { error: `Число не кратно ${step}` } : null;
|
13
11
|
}
|
14
12
|
return null;
|
15
13
|
};
|
16
14
|
}
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcFZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3N0ZXBWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVksRUFBRSxZQUFvQixDQUFDO0lBQzdELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtRQUMxRSxJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU8sTUFBTSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDNUc7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiDQn9GA0L7QstC10YDRj9C10YIg0LrRgNCw0YLQvdC+0YHRgtGMINC30L3QsNGH0LXQvdC40Y8uXG4gKlxuICogQHBhcmFtIHN0ZXAg0KjQsNCzINC60YDQsNGC0L3QvtGB0YLQuC5cbiAqIEBwYXJhbSBwcmVjaXNpb24g0KLQvtGH0L3QvtGB0YLRjCwg0LrQvtC70LjRh9C10YHRgtCy0L4g0YfQuNGB0LXQuyDQv9C+0YHQu9C1INC30LDQv9GP0YLQvtC5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RlcFZhbGlkYXRvcihzdGVwOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyID0gMyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sPG51bWJlciB8IG51bGw+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIoKHZhbHVlIC8gc3RlcCkudG9GaXhlZChwcmVjaXNpb24pKSAlIDEgIT09IDAgPyB7IGVycm9yOiBg0KfQuNGB0LvQviDQvdC1INC60YDQsNGC0L3QviAke3N0ZXB9YCB9IDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG59XG4iXX0=
|
@@ -341,14 +341,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
341
341
|
* Проверяет кратность значения.
|
342
342
|
*
|
343
343
|
* @param step Шаг кратности.
|
344
|
-
* @param
|
344
|
+
* @param precision Точность, количество чисел после запятой.
|
345
345
|
*/
|
346
|
-
function stepValidator(step,
|
346
|
+
function stepValidator(step, precision = 3) {
|
347
347
|
return ({ value }) => {
|
348
348
|
if (value) {
|
349
|
-
|
350
|
-
const closestMultiple = Math.round(controlValue / step) * step;
|
351
|
-
return Math.abs(controlValue - closestMultiple) > tolerance ? { error: `Число не кратно ${step}` } : null;
|
349
|
+
return Number((value / step).toFixed(precision)) % 1 !== 0 ? { error: `Число не кратно ${step}` } : null;
|
352
350
|
}
|
353
351
|
return null;
|
354
352
|
};
|
@@ -444,10 +442,10 @@ class ScInputQuantityComponent extends AbstractTuiNullableControl {
|
|
444
442
|
}
|
445
443
|
}
|
446
444
|
ScInputQuantityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScInputQuantityComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_NUMBER_VALUE_TRANSFORMER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
447
|
-
ScInputQuantityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: { step: "step", quantityUnit: "quantityUnit", showLoader: "showLoader", showCross: "showCross", appearance: "appearance", isDisabled: "isDisabled", size: "size" }, outputs: { clickClearEvent: "clickClearEvent" }, host: { listeners: { "keydown.arrowDown": "onArrow(-step)", "keydown.arrowUp": "onArrow(step)" }, properties: { "attr.data-appearance": "this.appearance", "attr.data-disabled": "this.isDisabled", "attr.data-size": "this.size" } }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-loader *ngIf=\"formControl\" class=\"w-full\" [overlay]=\"true\" [showLoader]=\"showLoader\" [size]=\"size\">\n <div class=\"flex items-center text-center gap-1\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput.canDecrement\"\n [focusable]=\"false\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"
|
445
|
+
ScInputQuantityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: { step: "step", quantityUnit: "quantityUnit", showLoader: "showLoader", showCross: "showCross", appearance: "appearance", isDisabled: "isDisabled", size: "size" }, outputs: { clickClearEvent: "clickClearEvent" }, host: { listeners: { "keydown.arrowDown": "onArrow(-step)", "keydown.arrowUp": "onArrow(step)" }, properties: { "attr.data-appearance": "this.appearance", "attr.data-disabled": "this.isDisabled", "attr.data-size": "this.size" } }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-loader *ngIf=\"formControl\" class=\"w-full\" [overlay]=\"true\" [showLoader]=\"showLoader\" [size]=\"size\">\n <div class=\"flex items-center text-center gap-1\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput.canDecrement\"\n [focusable]=\"false\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconMinusLarge\"></tui-svg>\n </button>\n <tui-input-number\n #numberInput\n [formControl]=\"formControl\"\n [tuiHint]=\"([] | tuiFieldError | async )?.message\"\n [tuiTextfieldPostfix]=\"quantityUnit || ''\"\n [tuiTextfieldLabelOutside]=\"true\"\n [min]=\"step\"\n [tuiTextfieldSize]=\"size\"\n [required]=\"true\"\n [style.text-align]=\"'center'\"\n [style.font-weight]=\"700\"\n class=\"grow\"\n >\n </tui-input-number>\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"incident()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconPlusLarge\"></tui-svg>\n </button>\n </div>\n <button\n *ngIf=\"showCross\"\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"clear()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconCloseLarge\"></tui-svg>\n </button>\n </div>\n</tui-loader>\n", styles: [":host [data-size=l]{--tui-height-l: var(--tui-height-m);--tui-font-text-m: bold .875rem/1.25rem var(--tui-font-text);--tui-padding-l: 0}:host [data-size=m]{--tui-height-m: var(--tui-height-s);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-m: 0}:host [data-size=m] tui-svg{font-size:12px!important}:host [data-size=s]{--tui-height-s: var(--tui-height-xs);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-s: 0}:host [data-size=s] tui-svg{font-size:12px!important}:host[data-disabled=true]{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host[data-appearance=secondary] .field-with-button{background-color:var(--tui-base-01);box-shadow:inset 0 0 0 .0625rem var(--tui-base-03)}:host[data-appearance=primary] .field-with-button{background-color:var(--tui-warning-bg)}:host .field-with-button:has(._invalid){background-color:var(--tui-error-bg)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i3$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "component", type: i3$2.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { kind: "directive", type: i3$2.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "directive", type: i3$1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i3$1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: i3$1.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i3$1.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i3$1.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i3$1.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "directive", type: i3$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i3$1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$2.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
448
446
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScInputQuantityComponent, decorators: [{
|
449
447
|
type: Component,
|
450
|
-
args: [{ selector: 'sc-input-quantity', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader *ngIf=\"formControl\" class=\"w-full\" [overlay]=\"true\" [showLoader]=\"showLoader\" [size]=\"size\">\n <div class=\"flex items-center text-center gap-1\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput.canDecrement\"\n [focusable]=\"false\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"
|
448
|
+
args: [{ selector: 'sc-input-quantity', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader *ngIf=\"formControl\" class=\"w-full\" [overlay]=\"true\" [showLoader]=\"showLoader\" [size]=\"size\">\n <div class=\"flex items-center text-center gap-1\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput.canDecrement\"\n [focusable]=\"false\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconMinusLarge\"></tui-svg>\n </button>\n <tui-input-number\n #numberInput\n [formControl]=\"formControl\"\n [tuiHint]=\"([] | tuiFieldError | async )?.message\"\n [tuiTextfieldPostfix]=\"quantityUnit || ''\"\n [tuiTextfieldLabelOutside]=\"true\"\n [min]=\"step\"\n [tuiTextfieldSize]=\"size\"\n [required]=\"true\"\n [style.text-align]=\"'center'\"\n [style.font-weight]=\"700\"\n class=\"grow\"\n >\n </tui-input-number>\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"incident()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconPlusLarge\"></tui-svg>\n </button>\n </div>\n <button\n *ngIf=\"showCross\"\n tuiIconButton\n tuiMode=\"onLight\"\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput.canIncrement\"\n [focusable]=\"false\"\n (click.prevent)=\"clear()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-svg src=\"tuiIconCloseLarge\"></tui-svg>\n </button>\n </div>\n</tui-loader>\n", styles: [":host [data-size=l]{--tui-height-l: var(--tui-height-m);--tui-font-text-m: bold .875rem/1.25rem var(--tui-font-text);--tui-padding-l: 0}:host [data-size=m]{--tui-height-m: var(--tui-height-s);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-m: 0}:host [data-size=m] tui-svg{font-size:12px!important}:host [data-size=s]{--tui-height-s: var(--tui-height-xs);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-s: 0}:host [data-size=s] tui-svg{font-size:12px!important}:host[data-disabled=true]{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host[data-appearance=secondary] .field-with-button{background-color:var(--tui-base-01);box-shadow:inset 0 0 0 .0625rem var(--tui-base-03)}:host[data-appearance=primary] .field-with-button{background-color:var(--tui-warning-bg)}:host .field-with-button:has(._invalid){background-color:var(--tui-error-bg)}\n"] }]
|
451
449
|
}], ctorParameters: function () {
|
452
450
|
return [{ type: i4.NgControl, decorators: [{
|
453
451
|
type: Optional
|
@@ -527,10 +525,10 @@ class ScPriceWarehouseStockComponent {
|
|
527
525
|
}
|
528
526
|
}
|
529
527
|
ScPriceWarehouseStockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceWarehouseStockComponent, deps: [{ token: i1.ScWarehouseService }], target: i0.ɵɵFactoryTarget.Component });
|
530
|
-
ScPriceWarehouseStockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: { classList: "classList", product: "product", withStockHint: "withStockHint" }, ngImport: i0, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\"
|
528
|
+
ScPriceWarehouseStockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: { classList: "classList", product: "product", withStockHint: "withStockHint" }, ngImport: i0, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\">\n <ng-container>\n <td class=\"px-1\">{{ item[0]?.name }}:</td>\n <td class=\"px-1\">{{ item[1].count ? item[1].count + ' ' + product.quantityUnit : '\u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438' }}</td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-template>\n", styles: ["[tuiIconButton]{--tui-radius-m: .75rem;--tui-height-xs: 1.25rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i3$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i3$1.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i3$1.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i3$1.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
531
529
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceWarehouseStockComponent, decorators: [{
|
532
530
|
type: Component,
|
533
|
-
args: [{ selector: 'sc-price-warehouse-stock', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\"
|
531
|
+
args: [{ selector: 'sc-price-warehouse-stock', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\">\n <ng-container>\n <td class=\"px-1\">{{ item[0]?.name }}:</td>\n <td class=\"px-1\">{{ item[1].count ? item[1].count + ' ' + product.quantityUnit : '\u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438' }}</td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-template>\n", styles: ["[tuiIconButton]{--tui-radius-m: .75rem;--tui-height-xs: 1.25rem}\n"] }]
|
534
532
|
}], ctorParameters: function () { return [{ type: i1.ScWarehouseService }]; }, propDecorators: { classList: [{
|
535
533
|
type: Input
|
536
534
|
}], product: [{
|
@@ -559,7 +557,7 @@ class ScCartItemMobileComponent {
|
|
559
557
|
/**
|
560
558
|
* {@link FormControl} поля ввода количества товара в корзине.
|
561
559
|
*/
|
562
|
-
this.quantityControl = new FormControl(0);
|
560
|
+
this.quantityControl = new FormControl(0, { updateOn: 'blur' });
|
563
561
|
/**
|
564
562
|
* {@link Observable} изменения количества товара в корзине.
|
565
563
|
*/
|
@@ -618,10 +616,10 @@ class ScCartItemMobileComponent {
|
|
618
616
|
}
|
619
617
|
}
|
620
618
|
ScCartItemMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartItemMobileComponent, deps: [{ token: UnitsHelper }, { token: TuiPreviewDialogService }, { token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }], target: i0.ɵɵFactoryTarget.Component });
|
621
|
-
ScCartItemMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScCartItemMobileComponent, selector: "sc-cart-item-mobile", inputs: { cartItem: "cartItem" }, outputs: { quantityValueChanges: "quantityValueChanges", clickDeleteEvent: "clickDeleteEvent", clickSettingsEvent: "clickSettingsEvent", clickCardEvent: "clickCardEvent" }, viewQueries: [{ propertyName: "specificationPreviewRef", first: true, predicate: ["specificationPreview"], descendants: true }], ngImport: i0, template: "<div class=\"ml-2 mt-2 relative p-4 gap-y-2 gap-x-4 flex flex-wrap bg-white border border-tui-base-04 shadow-sc-2 rounded-xl\">\n <ng-container *ngIf=\"cartItem && product; else skeleton\">\n <!--\n TODO: \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430.\n <button tuiIconButton size=\"m\" icon=\"scIconVerticalThreeDots\" appearance=\"float\" tuiMode=\"onLight\" class=\"!absolute right-0 top-0\"></button>\n -->\n <button\n tuiIconButton\n size=\"m\"\n icon=\"
|
619
|
+
ScCartItemMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScCartItemMobileComponent, selector: "sc-cart-item-mobile", inputs: { cartItem: "cartItem" }, outputs: { quantityValueChanges: "quantityValueChanges", clickDeleteEvent: "clickDeleteEvent", clickSettingsEvent: "clickSettingsEvent", clickCardEvent: "clickCardEvent" }, viewQueries: [{ propertyName: "specificationPreviewRef", first: true, predicate: ["specificationPreview"], descendants: true }], ngImport: i0, template: "<div class=\"ml-2 mt-2 relative p-4 gap-y-2 gap-x-4 flex flex-wrap bg-white border border-tui-base-04 shadow-sc-2 rounded-xl\">\n <ng-container *ngIf=\"cartItem && product; else skeleton\">\n <!--\n TODO: \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430.\n <button tuiIconButton size=\"m\" icon=\"scIconVerticalThreeDots\" appearance=\"float\" tuiMode=\"onLight\" class=\"!absolute right-0 top-0\"></button>\n -->\n <button\n tuiIconButton\n size=\"m\"\n icon=\"tuiIconTrash2Large\"\n appearance=\"secondary\"\n tuiMode=\"onLight\"\n (click)=\"clickDeleteEvent.emit()\"\n class=\"shadow-sc-2 !absolute -left-2 -top-2\"\n ></button>\n <div class=\"flex gap-2\">\n <div class=\"flex shrink-0 h-20 w-20 justify-center items-center overflow-hidden\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-5]=\"!product.images?.length\" class=\"cursor-pointer\" />\n </div>\n\n <div class=\"flex flex-wrap self-center gap-x-8 gap-y-0.5\">\n <div class=\"w-[13rem]\">\n <a tuiLink (click)=\"clickCardEvent.emit()\">\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"text-tui-text-02 text-xs\">\n <p>\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p *ngIf=\"product.pack\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}</p>\n <a tuiLink *ngIf=\"cartItem.specificationImgUrl\" (click)=\"showSpecification()\">\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a>\n <ng-template #specificationPreview let-preview>\n <tui-preview [rotatable]=\"false\" [zoomable]=\"false\">\n <img *polymorpheusOutlet=\"cartItem.specificationImgUrl as src\" alt=\"preview\" [src]=\"cartItem.specificationImgUrl\" />\n <button icon=\"tuiIconClose\" title=\"Close\" tuiIconButton tuiPreviewAction type=\"button\" (click)=\"preview.complete()\"></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-col self-center w-[10rem] gap-x-8 gap-y-0.5\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-xs text-tui-text-02\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-tui-text-01 !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <p class=\"flex flex-col items-baseline gap-x-2 font-bold\">\n <span>{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs text-tui-text-02\">{{ product.costString }}</span>\n </p>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n </div>\n </div>\n\n <div class=\"flex gap-2 items-center w-44 text-xs text-tui-text-02\">\n <!--\n TODO: \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430.\n <button tuiIconButton (click)=\"clickSettingsEvent.emit()\" size=\"m\" icon=\"scIconSettings\" appearance=\"secondary\" tuiMode=\"onLight\"></button>\n -->\n <div>\n <ng-container *ngIf=\"unitsHelper.productIsMeasurable(product); else notMeasurable\">\n <p>\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} {{ product.unit }}</p>\n </ng-container>\n <ng-template #notMeasurable>\n <p *ngIf=\"cartItem.length && !unitsHelper.productIsMeasurable(product)\">\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} \u043C.</p>\n <p *ngIf=\"cartItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ cartItem.width }} \u043C.</p>\n <p *ngIf=\"cartItem.height\">\u0412\u044B\u0441\u043E\u0442\u0430: {{ cartItem.height }} \u043C.</p>\n </ng-template>\n <p class=\"font-bold text-tui-text-01\">\u0418\u0442\u043E\u0433\u043E: {{ cartItem.costRub | tuiFormatNumber }} {{ 'RUB' | tuiCurrency }}</p>\n </div>\n </div>\n <div class=\"flex items-center grow justify-end\">\n <sc-input-quantity\n class=\"w-28\"\n *ngIf=\"quantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"unitsHelper.productIsMeasurable(product) ? '\u0448\u0442' : product.quantityUnit\"\n [showCross]=\"false\"\n size=\"s\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n ></sc-input-quantity>\n </div>\n </ng-container>\n\n <ng-template #skeleton>\n <div class=\"flex gap-2 w-full\">\n <div class=\"h-20 w-20 bg-tui-base-02 rounded-xl \"></div>\n <div class=\"flex flex-col grow gap-2.5 bg-white\">\n <div class=\"w-full h-4 rounded-xl bg-tui-base-02\"></div>\n <div class=\"w-3/5 h-4 rounded-xl bg-tui-base-02\"></div>\n <div class=\"w-4/5 h-4 rounded-xl bg-tui-base-02\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "quantityUnit", "showLoader", "showCross", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint"] }, { kind: "component", type: i3$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "directive", type: i3$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i3$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i3$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i3$1.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i3$1.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i3$1.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i7$1.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { kind: "directive", type: i7$1.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }, { kind: "directive", type: i8$1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "pipe", type: i9.TuiCurrencyPipe, name: "tuiCurrency" }, { kind: "pipe", type: i3$1.TuiFormatNumberPipe, name: "tuiFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
622
620
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartItemMobileComponent, decorators: [{
|
623
621
|
type: Component,
|
624
|
-
args: [{ selector: 'sc-cart-item-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ml-2 mt-2 relative p-4 gap-y-2 gap-x-4 flex flex-wrap bg-white border border-tui-base-04 shadow-sc-2 rounded-xl\">\n <ng-container *ngIf=\"cartItem && product; else skeleton\">\n <!--\n TODO: \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430.\n <button tuiIconButton size=\"m\" icon=\"scIconVerticalThreeDots\" appearance=\"float\" tuiMode=\"onLight\" class=\"!absolute right-0 top-0\"></button>\n -->\n <button\n tuiIconButton\n size=\"m\"\n icon=\"
|
622
|
+
args: [{ selector: 'sc-cart-item-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ml-2 mt-2 relative p-4 gap-y-2 gap-x-4 flex flex-wrap bg-white border border-tui-base-04 shadow-sc-2 rounded-xl\">\n <ng-container *ngIf=\"cartItem && product; else skeleton\">\n <!--\n TODO: \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430.\n <button tuiIconButton size=\"m\" icon=\"scIconVerticalThreeDots\" appearance=\"float\" tuiMode=\"onLight\" class=\"!absolute right-0 top-0\"></button>\n -->\n <button\n tuiIconButton\n size=\"m\"\n icon=\"tuiIconTrash2Large\"\n appearance=\"secondary\"\n tuiMode=\"onLight\"\n (click)=\"clickDeleteEvent.emit()\"\n class=\"shadow-sc-2 !absolute -left-2 -top-2\"\n ></button>\n <div class=\"flex gap-2\">\n <div class=\"flex shrink-0 h-20 w-20 justify-center items-center overflow-hidden\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-5]=\"!product.images?.length\" class=\"cursor-pointer\" />\n </div>\n\n <div class=\"flex flex-wrap self-center gap-x-8 gap-y-0.5\">\n <div class=\"w-[13rem]\">\n <a tuiLink (click)=\"clickCardEvent.emit()\">\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"text-tui-text-02 text-xs\">\n <p>\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p *ngIf=\"product.pack\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}</p>\n <a tuiLink *ngIf=\"cartItem.specificationImgUrl\" (click)=\"showSpecification()\">\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a>\n <ng-template #specificationPreview let-preview>\n <tui-preview [rotatable]=\"false\" [zoomable]=\"false\">\n <img *polymorpheusOutlet=\"cartItem.specificationImgUrl as src\" alt=\"preview\" [src]=\"cartItem.specificationImgUrl\" />\n <button icon=\"tuiIconClose\" title=\"Close\" tuiIconButton tuiPreviewAction type=\"button\" (click)=\"preview.complete()\"></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-col self-center w-[10rem] gap-x-8 gap-y-0.5\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-xs text-tui-text-02\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-tui-text-01 !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <p class=\"flex flex-col items-baseline gap-x-2 font-bold\">\n <span>{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs text-tui-text-02\">{{ product.costString }}</span>\n </p>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n </div>\n </div>\n\n <div class=\"flex gap-2 items-center w-44 text-xs text-tui-text-02\">\n <!--\n TODO: \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430.\n <button tuiIconButton (click)=\"clickSettingsEvent.emit()\" size=\"m\" icon=\"scIconSettings\" appearance=\"secondary\" tuiMode=\"onLight\"></button>\n -->\n <div>\n <ng-container *ngIf=\"unitsHelper.productIsMeasurable(product); else notMeasurable\">\n <p>\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} {{ product.unit }}</p>\n </ng-container>\n <ng-template #notMeasurable>\n <p *ngIf=\"cartItem.length && !unitsHelper.productIsMeasurable(product)\">\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} \u043C.</p>\n <p *ngIf=\"cartItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ cartItem.width }} \u043C.</p>\n <p *ngIf=\"cartItem.height\">\u0412\u044B\u0441\u043E\u0442\u0430: {{ cartItem.height }} \u043C.</p>\n </ng-template>\n <p class=\"font-bold text-tui-text-01\">\u0418\u0442\u043E\u0433\u043E: {{ cartItem.costRub | tuiFormatNumber }} {{ 'RUB' | tuiCurrency }}</p>\n </div>\n </div>\n <div class=\"flex items-center grow justify-end\">\n <sc-input-quantity\n class=\"w-28\"\n *ngIf=\"quantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"unitsHelper.productIsMeasurable(product) ? '\u0448\u0442' : product.quantityUnit\"\n [showCross]=\"false\"\n size=\"s\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n ></sc-input-quantity>\n </div>\n </ng-container>\n\n <ng-template #skeleton>\n <div class=\"flex gap-2 w-full\">\n <div class=\"h-20 w-20 bg-tui-base-02 rounded-xl \"></div>\n <div class=\"flex flex-col grow gap-2.5 bg-white\">\n <div class=\"w-full h-4 rounded-xl bg-tui-base-02\"></div>\n <div class=\"w-3/5 h-4 rounded-xl bg-tui-base-02\"></div>\n <div class=\"w-4/5 h-4 rounded-xl bg-tui-base-02\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
|
625
623
|
}], ctorParameters: function () {
|
626
624
|
return [{ type: UnitsHelper }, { type: i7$1.TuiPreviewDialogService, decorators: [{
|
627
625
|
type: Inject,
|
@@ -858,7 +856,7 @@ class ScPriceCardComponent {
|
|
858
856
|
/**
|
859
857
|
* {@link FormControl} поля ввода количества товара в корзине.
|
860
858
|
*/
|
861
|
-
this.quantityControl = new FormControl(null);
|
859
|
+
this.quantityControl = new FormControl(null, { updateOn: 'blur' });
|
862
860
|
/**
|
863
861
|
* {@link Observable} изменения количества товара в корзине.
|
864
862
|
*/
|
@@ -1380,7 +1378,7 @@ class TreeIconService {
|
|
1380
1378
|
getIconName(info) {
|
1381
1379
|
switch (info.getIcon()) {
|
1382
1380
|
case ScIconTypesEnum.iconImage:
|
1383
|
-
return '
|
1381
|
+
return 'tuiIconImageLarge';
|
1384
1382
|
case ScIconTypesEnum.iconPdfFile:
|
1385
1383
|
return 'scIconPdfFile';
|
1386
1384
|
case ScIconTypesEnum.iconWordFile:
|
@@ -1651,109 +1649,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
1651
1649
|
|
1652
1650
|
/**
|
1653
1651
|
* Список иконок.
|
1654
|
-
* TODO: TASK[#7779] Добавить иконки отдельных значков для соц. сетей после добавления их в кит дизайна.
|
1655
1652
|
*/
|
1656
1653
|
const scClientUiIconsName = [
|
1657
|
-
'scIconCalendar',
|
1658
1654
|
'scIconWordFile',
|
1655
|
+
'scIconWindowsill',
|
1659
1656
|
'scIconWarning',
|
1657
|
+
'scIconSandwichPanels',
|
1660
1658
|
'scIconWallet',
|
1661
1659
|
'scIconViewTree',
|
1662
|
-
'scIconMinus',
|
1663
1660
|
'scIconViewInline',
|
1664
|
-
'scIconViewGrid',
|
1665
|
-
'scIconVerticalThreeDots',
|
1666
1661
|
'scIconTop',
|
1667
|
-
'
|
1662
|
+
'scIconTemplates',
|
1668
1663
|
'scIconTasks',
|
1669
1664
|
'scIconSuitcase',
|
1670
1665
|
'scIconStar',
|
1666
|
+
'scIconSocialWhatsapp',
|
1667
|
+
'scIconSocialVk',
|
1668
|
+
'scIconSocialViber',
|
1669
|
+
'scIconSocialTelegram',
|
1670
|
+
'scIconSocialQR',
|
1671
|
+
'scIconSocialInstagram',
|
1672
|
+
'scIconSocialFacebook',
|
1673
|
+
'scIconSocialEmail',
|
1674
|
+
'scIconSocialCopy',
|
1675
|
+
'scIconSmile',
|
1676
|
+
'scIconSiding',
|
1671
1677
|
'scIconShare',
|
1672
|
-
'scIconSettings',
|
1673
1678
|
'scIconSend',
|
1674
1679
|
'scIconSearch',
|
1675
1680
|
'scIconSave',
|
1681
|
+
'scIconSandwich',
|
1676
1682
|
'scIconRocket',
|
1677
1683
|
'scIconRequisites',
|
1678
1684
|
'scIconRepeat',
|
1679
|
-
'scIconRefresh',
|
1680
1685
|
'scIconReclamation',
|
1681
|
-
'scIconQuestion',
|
1682
1686
|
'scIconQRCodeScan',
|
1687
|
+
'scIconPromoMaterials',
|
1683
1688
|
'scIconProfile',
|
1684
1689
|
'scIconPrice',
|
1685
|
-
'
|
1686
|
-
'scIconPhone',
|
1690
|
+
'scIconPlasticProfile',
|
1687
1691
|
'scIconPercentage',
|
1688
1692
|
'scIconPdfFile',
|
1689
1693
|
'scIconPalette',
|
1690
1694
|
'scIconOffer',
|
1691
1695
|
'scIconNews',
|
1692
|
-
'
|
1696
|
+
'scIconMosquitoNet',
|
1693
1697
|
'scIconMoney',
|
1694
1698
|
'scIconMail',
|
1695
|
-
'scIconLogOut2',
|
1696
|
-
'scIconLogOut',
|
1697
1699
|
'scIconLogIn',
|
1698
1700
|
'scIconLockOpen',
|
1699
1701
|
'scIconLock',
|
1700
|
-
'scIconLocation',
|
1701
1702
|
'scIconList',
|
1702
|
-
'scIconLike',
|
1703
|
-
'scIconImage',
|
1704
1703
|
'scIconHome',
|
1705
1704
|
'scIconHistory',
|
1706
1705
|
'scIconHeartFill',
|
1707
1706
|
'scIconHeart',
|
1708
|
-
'scIconHamburger',
|
1709
1707
|
'scIconGraph',
|
1710
|
-
'scIconFolderPlus',
|
1711
1708
|
'scIconFolderOpen',
|
1712
1709
|
'scIconFolder',
|
1710
|
+
'scIconFoam',
|
1711
|
+
'scIconFoamBalloon',
|
1713
1712
|
'scIconFilter',
|
1714
1713
|
'scIconFile',
|
1715
1714
|
'scIconFavoriteFill',
|
1716
1715
|
'scIconFavorite',
|
1717
|
-
'
|
1716
|
+
'scIconFastener',
|
1718
1717
|
'scIconExcelFile',
|
1719
1718
|
'scIconError',
|
1720
1719
|
'scIconEdit',
|
1721
|
-
'scIconDownloading',
|
1722
|
-
'scIconDone',
|
1723
1720
|
'scIconDeleteProfile',
|
1724
|
-
'scIconCross',
|
1725
1721
|
'scIconContacts',
|
1726
1722
|
'scIconConfigurator',
|
1727
1723
|
'scIconClock',
|
1728
|
-
'scIconClip',
|
1729
1724
|
'scIconClients',
|
1730
|
-
'
|
1725
|
+
'scIconCatalogBack',
|
1731
1726
|
'scIconCart',
|
1732
|
-
'
|
1733
|
-
'
|
1727
|
+
'scIconCanopy',
|
1728
|
+
'scIconCalendar',
|
1734
1729
|
'scIconBook',
|
1735
1730
|
'scIconBell',
|
1736
|
-
'scIconBasket',
|
1737
1731
|
'scIconBag',
|
1738
1732
|
'scIconAttention',
|
1739
|
-
'scIconArrowUp',
|
1740
|
-
'scIconArrowRight',
|
1741
1733
|
'scIconArrowReturn',
|
1742
|
-
'
|
1743
|
-
'
|
1744
|
-
'
|
1745
|
-
'scIconArrowDown',
|
1734
|
+
'scIconArrowLargeStart',
|
1735
|
+
'scIconArrowLargeEnd',
|
1736
|
+
'scIconArrowForward',
|
1746
1737
|
'scIconApplication',
|
1747
1738
|
'scIconAddProfile',
|
1748
|
-
'scIconSocialCopy',
|
1749
|
-
'scIconSocialEmail',
|
1750
|
-
'scIconSocialFacebook',
|
1751
|
-
'scIconSocialInstagram',
|
1752
|
-
'scIconSocialQR',
|
1753
|
-
'scIconSocialTelegram',
|
1754
|
-
'scIconSocialViber',
|
1755
|
-
'scIconSocialVk',
|
1756
|
-
'scIconSocialWhatsapp',
|
1757
1739
|
];
|
1758
1740
|
|
1759
1741
|
/**
|