@snabcentr/client-core 3.21.0-profstroy → 3.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.
Files changed (71) hide show
  1. package/cart/classes/sc-cart.d.ts +0 -4
  2. package/cart/constants/sc-empty-cart.d.ts +0 -1
  3. package/cart/internal/sc-i-cart.d.ts +0 -4
  4. package/cart/services/sc-cart.service.d.ts +0 -7
  5. package/catalog/dto/sc-product.d.ts +0 -7
  6. package/config/sc-i-update-interval.d.ts +0 -12
  7. package/esm2022/cart/classes/sc-cart.mjs +2 -3
  8. package/esm2022/cart/constants/sc-empty-cart.mjs +2 -2
  9. package/esm2022/cart/internal/sc-i-cart.mjs +1 -1
  10. package/esm2022/cart/services/sc-cart.service.mjs +2 -16
  11. package/esm2022/catalog/classes/sc-catalog-item.mjs +2 -2
  12. package/esm2022/catalog/dto/sc-product.mjs +1 -13
  13. package/esm2022/config/sc-i-update-interval.mjs +1 -1
  14. package/esm2022/helpers/index.mjs +1 -2
  15. package/esm2022/helpers/sc-units-helper.mjs +2 -3
  16. package/esm2022/order/classes/index.mjs +1 -3
  17. package/esm2022/order/classes/sc-order-draft-short.mjs +2 -7
  18. package/esm2022/order/classes/sc-order-draft.mjs +3 -15
  19. package/esm2022/order/classes/sc-order-item.mjs +1 -24
  20. package/esm2022/order/classes/sc-order-short.mjs +1 -3
  21. package/esm2022/order/enums/index.mjs +1 -2
  22. package/esm2022/order/internal/index.mjs +1 -6
  23. package/esm2022/order/internal/sc-i-order-draft-short.mjs +1 -1
  24. package/esm2022/order/internal/sc-i-order-draft.mjs +1 -1
  25. package/esm2022/order/internal/sc-i-order-item.mjs +1 -1
  26. package/esm2022/order/internal/sc-i-order-short.mjs +1 -1
  27. package/esm2022/order/services/sc-order-drafts.service.mjs +11 -122
  28. package/esm2022/order/services/sc-orders.service.mjs +5 -6
  29. package/esm2022/ui/services/sc-ui.service.mjs +13 -39
  30. package/esm2022/user/dto/sc-user-metadata.mjs +5 -6
  31. package/esm2022/user-metrika/enums/sc-user-metrika-goals-enum.mjs +1 -19
  32. package/fesm2022/snabcentr-client-core.mjs +74 -470
  33. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  34. package/helpers/index.d.ts +0 -1
  35. package/helpers/sc-units-helper.d.ts +1 -1
  36. package/order/classes/index.d.ts +0 -2
  37. package/order/classes/sc-order-draft-short.d.ts +2 -16
  38. package/order/classes/sc-order-draft.d.ts +2 -16
  39. package/order/classes/sc-order-item.d.ts +0 -16
  40. package/order/classes/sc-order-short.d.ts +0 -4
  41. package/order/enums/index.d.ts +0 -1
  42. package/order/internal/index.d.ts +0 -5
  43. package/order/internal/sc-i-order-draft-short.d.ts +0 -15
  44. package/order/internal/sc-i-order-draft.d.ts +1 -2
  45. package/order/internal/sc-i-order-item.d.ts +0 -4
  46. package/order/internal/sc-i-order-short.d.ts +0 -4
  47. package/order/services/sc-order-drafts.service.d.ts +1 -63
  48. package/order/services/sc-orders.service.d.ts +2 -3
  49. package/package.json +1 -1
  50. package/release_notes.tmp +4 -2
  51. package/ui/services/sc-ui.service.d.ts +6 -15
  52. package/user/dto/sc-user-metadata.d.ts +2 -2
  53. package/user-metrika/enums/sc-user-metrika-goals-enum.d.ts +0 -18
  54. package/esm2022/helpers/sc-date-helper.mjs +0 -23
  55. package/esm2022/order/classes/sc-order-draft-actualization.mjs +0 -46
  56. package/esm2022/order/classes/sc-profstroy-order-item.mjs +0 -88
  57. package/esm2022/order/enums/sc-order-draft-actualization-status.mjs +0 -24
  58. package/esm2022/order/internal/sc-i-new-profstroy-order-draft-request.mjs +0 -2
  59. package/esm2022/order/internal/sc-i-order-draft-actualization.mjs +0 -2
  60. package/esm2022/order/internal/sc-i-order-draft-file.mjs +0 -2
  61. package/esm2022/order/internal/sc-i-profstroy-order-item.mjs +0 -2
  62. package/esm2022/order/internal/sc-i-profstroy-product-stub.mjs +0 -2
  63. package/helpers/sc-date-helper.d.ts +0 -12
  64. package/order/classes/sc-order-draft-actualization.d.ts +0 -47
  65. package/order/classes/sc-profstroy-order-item.d.ts +0 -73
  66. package/order/enums/sc-order-draft-actualization-status.d.ts +0 -21
  67. package/order/internal/sc-i-new-profstroy-order-draft-request.d.ts +0 -14
  68. package/order/internal/sc-i-order-draft-actualization.d.ts +0 -22
  69. package/order/internal/sc-i-order-draft-file.d.ts +0 -13
  70. package/order/internal/sc-i-profstroy-order-item.d.ts +0 -28
  71. package/order/internal/sc-i-profstroy-product-stub.d.ts +0 -13
@@ -1,7 +1,7 @@
1
1
  import * as i1 from 'rxjs';
2
- import { of, startWith as startWith$1, Subject, ReplaySubject, partition, combineLatest, map as map$1, debounceTime, switchMap, tap, filter, shareReplay, distinctUntilChanged, BehaviorSubject, materialize, dematerialize, merge, distinctUntilKeyChanged, skip, first, catchError as catchError$1, throwError, expand, takeWhile, toArray, EMPTY, take, defaultIfEmpty, concatMap, finalize, takeUntil, interval, timer, exhaustMap, share, scan, defer, from, lastValueFrom, timeout, TimeoutError } from 'rxjs';
2
+ import { of, startWith as startWith$1, Subject, ReplaySubject, partition, combineLatest, map as map$1, debounceTime, switchMap, tap, filter, shareReplay, distinctUntilChanged, BehaviorSubject, materialize, dematerialize, merge, distinctUntilKeyChanged, skip, first, catchError as catchError$1, throwError, expand, takeWhile, toArray, EMPTY, take, defaultIfEmpty, concatMap, finalize, takeUntil, interval, share, scan, defer, from, lastValueFrom, timeout, TimeoutError } from 'rxjs';
3
3
  import { map, startWith, catchError } from 'rxjs/operators';
4
- import { parseISO, isValid, parse, format } from 'date-fns';
4
+ import { parseISO, parse, isValid, format } from 'date-fns';
5
5
  import { isString, isNil, isMatch, isArray, omit, get } from 'lodash-es';
6
6
  import * as i0 from '@angular/core';
7
7
  import { InjectionToken, inject, PLATFORM_ID, Injectable, Inject, Optional, EventEmitter, DestroyRef, LOCALE_ID, Pipe, assertInInjectionContext, RendererFactory2, makeEnvironmentProviders } from '@angular/core';
@@ -767,24 +767,6 @@ var ScUserMetrikaGoalsEnum;
767
767
  * В качестве параметра должен быть указан идентификатор КП/черновика (параметр "offer_id").
768
768
  */
769
769
  ScUserMetrikaGoalsEnum["orderDraftDeleted"] = "ORDER_DRAFT_DELETED";
770
- /**
771
- * Черновик заказа создан из файла программы «Профстрой».
772
- *
773
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
774
- */
775
- ScUserMetrikaGoalsEnum["orderDraftProfstroyCreated"] = "ORDER_DRAFT_PROFSTROY_CREATED";
776
- /**
777
- * Запущена актуализация черновика Профстрой.
778
- *
779
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
780
- */
781
- ScUserMetrikaGoalsEnum["orderDraftProfstroyActualized"] = "ORDER_DRAFT_PROFSTROY_ACTUALIZED";
782
- /**
783
- * Запущена пересборка черновика Профстрой из файла.
784
- *
785
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
786
- */
787
- ScUserMetrikaGoalsEnum["orderDraftProfstroyReloaded"] = "ORDER_DRAFT_PROFSTROY_RELOADED";
788
770
  /**
789
771
  * Открыто диалоговое окно/страница конфигуратора товара.
790
772
  *
@@ -1516,7 +1498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1516
1498
  }]
1517
1499
  }] });
1518
1500
 
1519
- const EMPTY_CART = { items: [], result_sum: { rub: 0 }, directions_sum: {} };
1501
+ const EMPTY_CART = { items: [], result_sum: { rub: 0 } };
1520
1502
 
1521
1503
  /**
1522
1504
  * Данные об итоговой сумме.
@@ -1545,7 +1527,7 @@ class ScCatalogItem extends ScCatalogableItem {
1545
1527
  super(data);
1546
1528
  this.properties = data?.properties;
1547
1529
  // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,no-underscore-dangle,@typescript-eslint/no-unsafe-member-access
1548
- this.seo = data?._Seo ?? data?.seo;
1530
+ this.seo = data._Seo ?? data?.seo;
1549
1531
  this.image = data?.image;
1550
1532
  }
1551
1533
  }
@@ -1733,18 +1715,6 @@ class ScCategory extends ScCatalogItem {
1733
1715
  * Модель данных товара/услуги.
1734
1716
  */
1735
1717
  class ScProduct extends ScCatalogItem {
1736
- /**
1737
- * Возвращает товар, не найденный в каталоге, с известными названием и артикулом поставщика.
1738
- *
1739
- * @param name Название товара.
1740
- * @param supplierSku Артикул поставщика.
1741
- */
1742
- static createNotFound(name, supplierSku) {
1743
- const product = new ScProduct(null);
1744
- product.name = name ?? product.name;
1745
- product.supplierSku = supplierSku;
1746
- return product;
1747
- }
1748
1718
  /**
1749
1719
  * Инициализирует экземпляр класса {@link ScProduct}.
1750
1720
  *
@@ -1897,44 +1867,6 @@ class ScProduct extends ScCatalogItem {
1897
1867
  }
1898
1868
  }
1899
1869
 
1900
- /**
1901
- * Класс-помощник для работы со значениями единиц измерения товара.
1902
- */
1903
- class ScUnitsHelper {
1904
- /**
1905
- * Возвращает признак, что указанный товар имеет линейную единицу измерения.
1906
- *
1907
- * @param product Данные о товаре для которого нужно проверить линейность его единицы измерения.
1908
- */
1909
- static productIsMeasurable(product) {
1910
- // У товара, не найденного в каталоге, единицы измерения нет.
1911
- return !product.isNull && (product.unit.isLinear || product.unit.isSquare);
1912
- }
1913
- /**
1914
- * Возвращает кратность количества для указанного товара.
1915
- *
1916
- * Кратность равна {@link ScProduct.minCount} и не зависит от {@link ScIProperties.ignoreMinCountCheck}:
1917
- * этот признак только снимает валидацию кратности/минимума при ручном вводе, но начальное количество
1918
- * и шаг кнопок +/- остаются кратны minCount.
1919
- *
1920
- * @param product Данные о товаре для которого необходимо вернуть кратность количества.
1921
- */
1922
- static getProductMultiplicity(product) {
1923
- return product.minCount && !ScUnitsHelper.productIsMeasurable(product) ? product.minCount : 1;
1924
- }
1925
- /**
1926
- * Возвращает кратность длины для указанного товара.
1927
- *
1928
- * @param product Данные о товаре для которого необходимо вернуть кратность длины.
1929
- */
1930
- static getProductLengthMultiplicity(product) {
1931
- if (product.properties?.lengthStep) {
1932
- return product.properties.lengthStep;
1933
- }
1934
- return !product.properties?.ignoreMinCountCheck && product.minCount ? product.minCount : 0.01;
1935
- }
1936
- }
1937
-
1938
1870
  /**
1939
1871
  * Данные о единичной позиции товара/услуги в заказе (корзине / черновике).
1940
1872
  */
@@ -1957,32 +1889,10 @@ class ScOrderItem {
1957
1889
  this.length = data.length;
1958
1890
  this.width = data.width;
1959
1891
  this.logicGroupId = data.logicGroupId;
1960
- this.salesDirection = data.salesDirection;
1961
1892
  this.specificationImgUrl = data.specificationImgUrl;
1962
1893
  this.configurator = data.configurator;
1963
1894
  this.configuratorParams = data.configuratorParams;
1964
1895
  }
1965
- /**
1966
- * Признак, что позиция может попасть в заказ: товар есть в каталоге и предоставляется.
1967
- */
1968
- get isOrderable() {
1969
- return !this.product.isNull && !this.product.isHidden;
1970
- }
1971
- /**
1972
- * Шаг изменения количества позиции.
1973
- */
1974
- get quantityStep() {
1975
- return ScUnitsHelper.getProductMultiplicity(this.product);
1976
- }
1977
- /**
1978
- * Возвращает причину, по которой позиция не может попасть в заказ, или пустую строку.
1979
- */
1980
- getUnavailableReason() {
1981
- if (this.product.isNull) {
1982
- return 'Товар не найден в каталоге';
1983
- }
1984
- return this.product.isHidden ? 'Товар больше не предоставляется' : '';
1985
- }
1986
1896
  /**
1987
1897
  * @inheritDoc
1988
1898
  */
@@ -2025,10 +1935,9 @@ class ScCart {
2025
1935
  * @param data Данные для первоначальной инициализации.
2026
1936
  */
2027
1937
  // eslint-disable-next-line unicorn/no-object-as-default-parameter
2028
- constructor(data = { items: [], resultSum: { rub: 0 }, directionsSum: {} }) {
1938
+ constructor(data = { items: [], resultSum: { rub: 0 } }) {
2029
1939
  this.items = data.items.map((item) => new ScOrderItem(item));
2030
1940
  this.resultSum = data.resultSum;
2031
- this.directionsSum = data.directionsSum;
2032
1941
  }
2033
1942
  }
2034
1943
 
@@ -2169,15 +2078,14 @@ class ScUserMetadata {
2169
2078
  * Вид отображения плиток товаров.
2170
2079
  */
2171
2080
  this.productTileType = ScProductTileType.grid;
2172
- /**
2173
- * Метаданные не оформленных заказов.
2174
- */
2175
- this.newOrdersMetadata = [];
2176
2081
  /**
2177
2082
  * Формат отображения каталога.
2178
2083
  */
2179
2084
  this.catalogFormat = ScCatalogFormat.normal;
2180
- Object.assign(this, data);
2085
+ const metadata = { ...data };
2086
+ // Устаревший ключ черновика заказа по направлениям, не переносится в актуальные метаданные.
2087
+ delete metadata['newOrdersMetadata'];
2088
+ Object.assign(this, metadata);
2181
2089
  }
2182
2090
  }
2183
2091
 
@@ -2285,54 +2193,28 @@ class ScUIService {
2285
2193
  this.setMetadataByKey('paginatePageSize', paginatePageSize);
2286
2194
  }
2287
2195
  /**
2288
- * Возвращает {@link Observable} метаданных неоформленного заказа по направлению продаж.
2289
- *
2290
- * @param directionsId Идентификатор направления продаж.
2196
+ * Возвращает {@link Observable} метаданных неоформленного заказа.
2291
2197
  */
2292
- getNewOrderMetadata$(directionsId) {
2293
- // Данные представлены массивом объектов, поэтому не используется getMetadataChangeByKey$().
2294
- return this.userMetadataSubject.pipe(map$1((metadata) => metadata.newOrdersMetadata), distinctUntilChanged(), map$1((ordersMetadata) => ordersMetadata[directionsId]), distinctUntilChanged());
2198
+ getNewOrderMetadata$() {
2199
+ return this.getMetadataChangeByKey$('newOrderMetadata');
2295
2200
  }
2296
2201
  /**
2297
- * Устанавливает метаданные неоформленного заказа по направлению продаж.
2202
+ * Устанавливает метаданные неоформленного заказа.
2298
2203
  *
2299
- * @param directionsId Идентификатор направления продаж.
2300
2204
  * @param newOrderMetadata Данные нового неоформленного заказа.
2301
2205
  */
2302
- setNewOrderMetadata(directionsId, newOrderMetadata) {
2206
+ setNewOrderMetadata(newOrderMetadata) {
2303
2207
  // При сохранении изображения выдаёт ошибку 500 'Произошла ошибка при работе с базой данных'.
2304
2208
  // TODO: TASK[#6370]: Доработать после решения задачи.
2305
- if (newOrderMetadata.image) {
2306
- // eslint-disable-next-line no-param-reassign
2307
- delete newOrderMetadata.image;
2308
- }
2309
- this.getMetadataChangeByKey$('newOrdersMetadata')
2310
- .pipe(first())
2311
- .subscribe((ordersMetadata) => {
2312
- // eslint-disable-next-line no-param-reassign
2313
- ordersMetadata[directionsId] = newOrderMetadata;
2314
- this.setMetadataByKey('newOrdersMetadata', structuredClone(ordersMetadata));
2315
- });
2316
- }
2317
- /**
2318
- * Удаляет метаданные неоформленного заказа по направлению продаж.
2319
- *
2320
- * @param directionsId Идентификатор направления продаж.
2321
- */
2322
- removeNewOrderMetadata(directionsId) {
2323
- this.getMetadataChangeByKey$('newOrdersMetadata')
2324
- .pipe(first())
2325
- .subscribe((ordersMetadata) => {
2326
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete,no-param-reassign
2327
- delete ordersMetadata[directionsId];
2328
- this.setMetadataByKey('newOrdersMetadata', structuredClone(ordersMetadata));
2329
- });
2209
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2210
+ const { image, ...newOrderMetadataWithoutImage } = newOrderMetadata;
2211
+ this.setMetadataByKey('newOrderMetadata', newOrderMetadataWithoutImage);
2330
2212
  }
2331
2213
  /**
2332
- * Удаляет метаданные не оформленных заказов по всем направлениям продаж.
2214
+ * Удаляет метаданные неоформленного заказа.
2333
2215
  */
2334
- removeAllNewOrdersMetadata() {
2335
- this.setMetadataByKey('newOrdersMetadata', []);
2216
+ removeNewOrderMetadata() {
2217
+ this.setMetadataByKey('newOrderMetadata', undefined);
2336
2218
  }
2337
2219
  /**
2338
2220
  * Возвращает дату последнего открытия опросников.
@@ -3058,7 +2940,7 @@ class ScCartService {
3058
2940
  target: ScUserMetrikaGoalsEnum.cartCleared,
3059
2941
  });
3060
2942
  }), tap(() => {
3061
- this.uiService.removeAllNewOrdersMetadata();
2943
+ this.uiService.removeNewOrderMetadata();
3062
2944
  this.cartCachedItem$.setValue(new ScCart());
3063
2945
  }));
3064
2946
  }
@@ -3076,19 +2958,6 @@ class ScCartService {
3076
2958
  getNullCartItems$() {
3077
2959
  return this.get$().pipe(map$1((cart) => (cart === loadingPlaceholder ? loadingPlaceholder : cart.items.filter((item) => item.product.isNull || item.product.isHidden))));
3078
2960
  }
3079
- /**
3080
- * Возвращает объект {@link ScCart} корзины, созданный из объекта заказа.
3081
- *
3082
- * @param order Данные о заказе.
3083
- */
3084
- // eslint-disable-next-line class-methods-use-this
3085
- getCartByOrder(order) {
3086
- return {
3087
- items: order.products,
3088
- resultSum: { rub: order.sum },
3089
- directionsSum: { [order.salesDirection.id]: new ScSum(order.sum) },
3090
- };
3091
- }
3092
2961
  /**
3093
2962
  * Возвращает пример CSV файла для добавления продуктов в корзину.
3094
2963
  */
@@ -4715,6 +4584,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4715
4584
  }]
4716
4585
  }] });
4717
4586
 
4587
+ /**
4588
+ * Класс-помощник для работы со значениями единиц измерения товара.
4589
+ */
4590
+ class ScUnitsHelper {
4591
+ /**
4592
+ * Возвращает признак, что указанный товар имеет линейную единицу измерения.
4593
+ *
4594
+ * @param product Данные о товаре для которого нужно проверить линейность его единицы измерения.
4595
+ */
4596
+ static productIsMeasurable(product) {
4597
+ return product.unit.isLinear || product.unit.isSquare;
4598
+ }
4599
+ /**
4600
+ * Возвращает кратность количества для указанного товара.
4601
+ *
4602
+ * Кратность равна {@link ScProduct.minCount} и не зависит от {@link ScIProperties.ignoreMinCountCheck}:
4603
+ * этот признак только снимает валидацию кратности/минимума при ручном вводе, но начальное количество
4604
+ * и шаг кнопок +/- остаются кратны minCount.
4605
+ *
4606
+ * @param product Данные о товаре для которого необходимо вернуть кратность количества.
4607
+ */
4608
+ static getProductMultiplicity(product) {
4609
+ return product.minCount && !ScUnitsHelper.productIsMeasurable(product) ? product.minCount : 1;
4610
+ }
4611
+ /**
4612
+ * Возвращает кратность длины для указанного товара.
4613
+ *
4614
+ * @param product Данные о товаре для которого необходимо вернуть кратность длины.
4615
+ */
4616
+ static getProductLengthMultiplicity(product) {
4617
+ if (product.properties?.lengthStep) {
4618
+ return product.properties.lengthStep;
4619
+ }
4620
+ return !product.properties?.ignoreMinCountCheck && product.minCount ? product.minCount : 0.01;
4621
+ }
4622
+ }
4623
+
4718
4624
  /**
4719
4625
  * Возвращает текущий маршрут.
4720
4626
  * Функция проходит по дереву маршрутов начиная с переданного route и возвращает самый вложенный активный маршрут.
@@ -4729,28 +4635,6 @@ const scGetCurrentRoute = (route) => {
4729
4635
  return currentRoute;
4730
4636
  };
4731
4637
 
4732
- /**
4733
- * Класс-помощник для работы с датами.
4734
- */
4735
- class ScDateHelper {
4736
- /**
4737
- * Возвращает дату, полученную из строки в указанном формате, или `undefined`, если значение отсутствует или не является датой.
4738
- *
4739
- * @param value Дата строкой или готовый объект даты.
4740
- * @param format Формат даты строкой (например, {@link ScIDateFormat.api}).
4741
- */
4742
- static parse(value, format) {
4743
- if (value instanceof Date) {
4744
- return isValid(value) ? value : undefined;
4745
- }
4746
- if (!value) {
4747
- return undefined;
4748
- }
4749
- const date = parse(value, format, new Date());
4750
- return isValid(date) ? date : undefined;
4751
- }
4752
- }
4753
-
4754
4638
  /**
4755
4639
  * Токен состояния запроса данных о категории (загрузка / успех / ошибка).
4756
4640
  */
@@ -6883,160 +6767,6 @@ class ScOrderBase {
6883
6767
  }
6884
6768
  }
6885
6769
 
6886
- /**
6887
- * Перечисление статусов актуализации черновика Профстрой.
6888
- */
6889
- // eslint-disable-next-line no-shadow
6890
- var ScOrderDraftActualizationStatus;
6891
- (function (ScOrderDraftActualizationStatus) {
6892
- /**
6893
- * Выполняется обработка файла или обмен с 1С.
6894
- */
6895
- ScOrderDraftActualizationStatus["processing"] = "processing";
6896
- /**
6897
- * Последний обмен с 1С завершён успешно.
6898
- */
6899
- ScOrderDraftActualizationStatus["completed"] = "completed";
6900
- /**
6901
- * Обработка завершилась с ошибкой.
6902
- */
6903
- ScOrderDraftActualizationStatus["error"] = "error";
6904
- /**
6905
- * Состав черновика изменён после последней успешной актуализации.
6906
- */
6907
- ScOrderDraftActualizationStatus["needsActualization"] = "needs_actualization";
6908
- })(ScOrderDraftActualizationStatus || (ScOrderDraftActualizationStatus = {}));
6909
-
6910
- /**
6911
- * Данные об актуализации черновика Профстрой.
6912
- */
6913
- class ScOrderDraftActualization {
6914
- /**
6915
- * Инициализирует экземпляр класса {@link ScOrderDraftActualization}.
6916
- *
6917
- * @param data Данные от API или готовый экземпляр актуализации.
6918
- * @param apiDateFormat Формат дат в данных API.
6919
- */
6920
- constructor(data, apiDateFormat) {
6921
- this.status = data?.status ?? ScOrderDraftActualizationStatus.processing;
6922
- this.actualizedAt = ScDateHelper.parse(data?.actualizedAt, apiDateFormat);
6923
- this.expiresAt = ScDateHelper.parse(data?.expiresAt, apiDateFormat);
6924
- this.error = data?.error ?? undefined;
6925
- }
6926
- /**
6927
- * Признак, что выполняется обработка.
6928
- */
6929
- get isProcessing() {
6930
- return this.status === ScOrderDraftActualizationStatus.processing;
6931
- }
6932
- /**
6933
- * Возвращает признак, что данные актуализации устарели на указанный момент: актуализация не завершена успешно или истёк срок её действия.
6934
- * Момент, равный сроку действия, ещё допустим. Если срок не известен, данные считаются актуальными.
6935
- *
6936
- * @param now Момент проверки.
6937
- */
6938
- isOutdatedAt(now) {
6939
- if (this.status !== ScOrderDraftActualizationStatus.completed || !this.actualizedAt) {
6940
- return true;
6941
- }
6942
- return this.expiresAt !== undefined && this.expiresAt.getTime() < now.getTime();
6943
- }
6944
- /**
6945
- * Возвращает признак, что на указанный момент из черновика можно оформить заказ.
6946
- *
6947
- * @param now Момент проверки.
6948
- */
6949
- isOrderAllowedAt(now) {
6950
- return this.status === ScOrderDraftActualizationStatus.completed && !this.isOutdatedAt(now);
6951
- }
6952
- }
6953
-
6954
- /**
6955
- * Данные о позиции черновика Профстрой.
6956
- */
6957
- class ScProfstroyOrderItem extends ScOrderItem {
6958
- /**
6959
- * Название группы для позиций без группы.
6960
- */
6961
- static { this.ungroupedName = 'Без группы'; }
6962
- /**
6963
- * Шаг количества позиции, для которой не найден товар каталога и кратность не известна.
6964
- */
6965
- static { this.stubQuantityStep = 0.001; }
6966
- /**
6967
- * Тексты ошибок строк по их кодам.
6968
- */
6969
- static { this.lineErrorTexts = {
6970
- // eslint-disable-next-line @typescript-eslint/naming-convention
6971
- not_returned_by_1c: 'Продукт недоступен для заказа',
6972
- }; }
6973
- /**
6974
- * Возвращает признак, что вместо товара каталога пришла заглушка.
6975
- *
6976
- * @param product Данные о товаре.
6977
- */
6978
- static isStub(product) {
6979
- return !product || (product instanceof ScProduct && product.isNull) || !('id' in product);
6980
- }
6981
- /**
6982
- * Возвращает название группы позиции для отображения. Позиции обычного черновика относятся к группе «Без группы».
6983
- *
6984
- * @param item Позиция черновика.
6985
- */
6986
- static getGroupTitle(item) {
6987
- return item instanceof ScProfstroyOrderItem ? item.groupTitle : ScProfstroyOrderItem.ungroupedName;
6988
- }
6989
- /**
6990
- * Инициализирует экземпляр класса {@link ScProfstroyOrderItem}.
6991
- *
6992
- * @param data Данные от API или готовый экземпляр позиции.
6993
- */
6994
- constructor(data) {
6995
- const isProductStub = ScProfstroyOrderItem.isStub(data.product);
6996
- // Базовому классу нужны только собственные поля позиции, прототип не используется.
6997
- // eslint-disable-next-line @typescript-eslint/no-misused-spread
6998
- super({ ...data, product: isProductStub ? null : data.product });
6999
- this.isProductStub = isProductStub;
7000
- this.groupName = data.groupName ?? undefined;
7001
- this.isIgnored = data.isIgnored ?? false;
7002
- this.lineError = data.lineError ?? undefined;
7003
- this.supplierSku = data.supplierSku ?? data.product?.supplierSku ?? undefined;
7004
- if (isProductStub) {
7005
- this.product = ScProduct.createNotFound(data.product?.name, this.supplierSku);
7006
- }
7007
- }
7008
- /**
7009
- * Название группы для отображения: группа из файла или «Без группы».
7010
- */
7011
- get groupTitle() {
7012
- return this.groupName?.trim() ? this.groupName.trim() : ScProfstroyOrderItem.ungroupedName;
7013
- }
7014
- /**
7015
- * @inheritDoc
7016
- */
7017
- get isOrderable() {
7018
- return !this.isProductStub && !this.isIgnored && !this.lineError && super.isOrderable;
7019
- }
7020
- /**
7021
- * @inheritDoc
7022
- */
7023
- get quantityStep() {
7024
- return this.isProductStub ? ScProfstroyOrderItem.stubQuantityStep : super.quantityStep;
7025
- }
7026
- /**
7027
- * @inheritDoc
7028
- */
7029
- getUnavailableReason() {
7030
- if (this.isIgnored) {
7031
- return 'Группа не участвует в заказе';
7032
- }
7033
- if (this.lineError) {
7034
- return ScProfstroyOrderItem.lineErrorTexts[this.lineError] ?? this.lineError;
7035
- }
7036
- return super.getUnavailableReason();
7037
- }
7038
- }
7039
-
7040
6770
  /**
7041
6771
  * Данные о коммерческом предложении/черновике заказа.
7042
6772
  */
@@ -7045,9 +6775,8 @@ class ScOrderDraft {
7045
6775
  * Инициализирует экземпляр класса {@link ScOrderDraft}.
7046
6776
  *
7047
6777
  * @param data Данные для первоначальной инициализации.
7048
- * @param apiDateFormat Формат дат в данных API.
7049
6778
  */
7050
- constructor(data, apiDateFormat) {
6779
+ constructor(data) {
7051
6780
  /**
7052
6781
  * Дата последнего обновления данных.
7053
6782
  */
@@ -7057,10 +6786,7 @@ class ScOrderDraft {
7057
6786
  this.type = data.type;
7058
6787
  this.createdAt = data.createdAt;
7059
6788
  this.sum = data.sum;
7060
- this.isProfstroy = data.isProfstroy === true;
7061
- this.actualization = this.isProfstroy ? new ScOrderDraftActualization(data.actualization, apiDateFormat) : undefined;
7062
- this.file = data.file ?? undefined;
7063
- this.products = data.products.map((item) => (this.isProfstroy ? new ScProfstroyOrderItem(item) : new ScOrderItem(item)));
6789
+ this.products = data.products.map((item) => new ScOrderItem(item));
7064
6790
  }
7065
6791
  /**
7066
6792
  * @inheritDoc
@@ -7088,9 +6814,6 @@ class ScOrderDraft {
7088
6814
  this.type = offer.type;
7089
6815
  this.sum = offer.sum;
7090
6816
  this.products = offer.products;
7091
- this.isProfstroy = offer.isProfstroy;
7092
- this.actualization = offer.actualization;
7093
- this.file = offer.file;
7094
6817
  this.lastUpdateDate = new Date();
7095
6818
  }
7096
6819
  /**
@@ -7099,9 +6822,6 @@ class ScOrderDraft {
7099
6822
  updateDataFromShortOffer(offer) {
7100
6823
  this.name = offer.name;
7101
6824
  this.type = offer.type;
7102
- this.isProfstroy = offer.isProfstroy;
7103
- this.actualization = offer.actualization;
7104
- this.file = offer.file;
7105
6825
  }
7106
6826
  }
7107
6827
 
@@ -7113,15 +6833,11 @@ class ScOrderDraftShort extends ScOrderBase {
7113
6833
  * Инициализирует экземпляр класса {@link ScOrderDraftShort}.
7114
6834
  *
7115
6835
  * @param data Данные для первоначальной инициализации.
7116
- * @param apiDateFormat Формат дат в данных API.
7117
6836
  */
7118
- constructor(data, apiDateFormat) {
6837
+ constructor(data) {
7119
6838
  super(data);
7120
6839
  this.name = data.name;
7121
6840
  this.type = data.type;
7122
- this.isProfstroy = data.isProfstroy === true;
7123
- this.actualization = this.isProfstroy ? new ScOrderDraftActualization(data.actualization, apiDateFormat) : undefined;
7124
- this.file = data.file ?? undefined;
7125
6841
  }
7126
6842
  }
7127
6843
 
@@ -7142,7 +6858,6 @@ class ScOrderShort extends ScOrderBase {
7142
6858
  this.payment = data.payment;
7143
6859
  this.numberDoc = data.numberDoc;
7144
6860
  this.barcode = data.barcode;
7145
- this.isProfstroy = data.isProfstroy === true;
7146
6861
  }
7147
6862
  /**
7148
6863
  * @inheritDoc
@@ -7153,7 +6868,6 @@ class ScOrderShort extends ScOrderBase {
7153
6868
  this.payment = order.payment;
7154
6869
  this.sum = order.sum;
7155
6870
  this.delivery = order.delivery;
7156
- this.isProfstroy = order.isProfstroy;
7157
6871
  }
7158
6872
  }
7159
6873
 
@@ -7351,18 +7065,6 @@ class ScOrderDraftsService {
7351
7065
  * Сервис для сбора метрик о действиях пользователей.
7352
7066
  */
7353
7067
  this.userMetrikaService = inject(ScUserMetrikaService);
7354
- /**
7355
- * Форматы дат.
7356
- */
7357
- this.dateFormats = inject(SC_DATE_FORMAT);
7358
- /**
7359
- * Сервис конвертации данных.
7360
- */
7361
- this.convertersService = inject(ScConvertersService);
7362
- /**
7363
- * Объект документа.
7364
- */
7365
- this.document = inject(DOCUMENT);
7366
7068
  /**
7367
7069
  * Коллекция пар ключ-значение для кэшированных коммерческих предложений/черновиков пользователя.
7368
7070
  */
@@ -7378,85 +7080,17 @@ class ScOrderDraftsService {
7378
7080
  */
7379
7081
  getList$(params) {
7380
7082
  return this.http.get(`${this.urls.apiUrl}/orders/offers`, { params: params }).pipe(map$1((offersPaginateDTO) => {
7381
- offersPaginateDTO.data = offersPaginateDTO.data.map((item) => new ScOrderDraftShort(item, this.dateFormats.api));
7083
+ offersPaginateDTO.data = offersPaginateDTO.data.map((item) => new ScOrderDraftShort(item));
7382
7084
  return offersPaginateDTO;
7383
7085
  }));
7384
7086
  }
7385
- /**
7386
- * Возвращает краткие данные черновиков с указанными номерами. Используется для лёгкого опроса состояния актуализации без загрузки позиций.
7387
- *
7388
- * @param ids Номера черновиков.
7389
- */
7390
- getShortList$(ids) {
7391
- const params = { perPage: ids.length, filters: { number: { in: ids } } };
7392
- return this.getList$(this.convertersService.toHttpParams(params, { nonNullable: true })).pipe(map$1((response) => response.data));
7393
- }
7394
- /**
7395
- * Периодически запрашивает краткие данные черновиков с указанными номерами, пока есть подписка.
7396
- * Пока вкладка браузера скрыта, запросы не выполняются; новый запрос не начинается до завершения предыдущего.
7397
- *
7398
- * @param ids Номера черновиков.
7399
- */
7400
- watchShortList$(ids) {
7401
- return this.poll$(this.updateInterval.orderDraftStatus, () => this.getShortList$(ids));
7402
- }
7403
- /**
7404
- * Периодически перезапрашивает страницу списка черновиков в фоне, пока есть подписка. Условия запросов как у {@link watchShortList$}.
7405
- *
7406
- * @param params Параметры запроса получения списка.
7407
- */
7408
- watchList$(params) {
7409
- return this.poll$(this.updateInterval.orderDraftsList, () => this.getList$(params).pipe(map$1((response) => response.data)));
7410
- }
7411
- /**
7412
- * Создаёт черновик заказа из файла программы «Профстрой» и запускает его обработку.
7413
- *
7414
- * @param data Данные для создания.
7415
- */
7416
- createProfstroy$(data) {
7417
- return this.http.post(`${this.urls.apiUrl}/orders/offers/profstroy`, data).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7418
- this.userMetrikaService.emitUserMetrikaEvent({
7419
- target: ScUserMetrikaGoalsEnum.orderDraftProfstroyCreated,
7420
- params: { offer_id: offer.id },
7421
- });
7422
- this.offerMap.set(offer.id, new ScCachedItem(this.updateInterval.orderData, of(offer), loadingPlaceholder));
7423
- }));
7424
- }
7425
- /**
7426
- * Запускает актуализацию черновика Профстрой (повторный обмен с 1С по текущему составу).
7427
- *
7428
- * @param offerId Идентификатор черновика.
7429
- */
7430
- actualizeProfstroy$(offerId) {
7431
- return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/profstroy/actualize`, {}).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7432
- this.userMetrikaService.emitUserMetrikaEvent({
7433
- target: ScUserMetrikaGoalsEnum.orderDraftProfstroyActualized,
7434
- params: { offer_id: offerId },
7435
- });
7436
- this.offerMap.get(offerId)?.setValue(offer);
7437
- }));
7438
- }
7439
- /**
7440
- * Запускает пересборку черновика Профстрой из ранее загруженного файла.
7441
- *
7442
- * @param offerId Идентификатор черновика.
7443
- */
7444
- reloadProfstroy$(offerId) {
7445
- return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/profstroy/reload`, {}).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7446
- this.userMetrikaService.emitUserMetrikaEvent({
7447
- target: ScUserMetrikaGoalsEnum.orderDraftProfstroyReloaded,
7448
- params: { offer_id: offerId },
7449
- });
7450
- this.offerMap.get(offerId)?.setValue(offer);
7451
- }));
7452
- }
7453
7087
  /**
7454
7088
  * Создаёт новое коммерческое предложение/черновик заказа.
7455
7089
  *
7456
7090
  * @param data Данные для создания.
7457
7091
  */
7458
7092
  create$(data) {
7459
- return this.http.post(`${this.urls.apiUrl}/orders/offers`, data).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7093
+ return this.http.post(`${this.urls.apiUrl}/orders/offers`, data).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
7460
7094
  this.userMetrikaService.emitUserMetrikaEvent({
7461
7095
  target: ScUserMetrikaGoalsEnum.orderDraftCreated,
7462
7096
  params: { offer_id: offer.id },
@@ -7474,7 +7108,7 @@ class ScOrderDraftsService {
7474
7108
  get$(draftId, cacheable = true) {
7475
7109
  let cachedItem = this.offerMap.get(draftId);
7476
7110
  if (!cachedItem) {
7477
- cachedItem = new ScCachedItem(this.updateInterval.orderData, this.http.get(`${this.urls.apiUrl}/orders/offers/${draftId}`).pipe(map$1((data) => new ScOrderDraft(data, this.dateFormats.api))), loadingPlaceholder);
7111
+ cachedItem = new ScCachedItem(this.updateInterval.orderData, this.http.get(`${this.urls.apiUrl}/orders/offers/${draftId}`).pipe(map$1((data) => new ScOrderDraft(data))), loadingPlaceholder);
7478
7112
  if (cacheable) {
7479
7113
  this.offerMap.set(draftId, cachedItem);
7480
7114
  }
@@ -7484,22 +7118,6 @@ class ScOrderDraftsService {
7484
7118
  }
7485
7119
  return cachedItem.item$;
7486
7120
  }
7487
- /**
7488
- * Запрашивает полную информацию о черновике в обход кэша и обновляет кэш полученными данными.
7489
- *
7490
- * @param draftId Идентификатор записи.
7491
- */
7492
- fetch$(draftId) {
7493
- return this.http.get(`${this.urls.apiUrl}/orders/offers/${draftId}`).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7494
- const cachedItem = this.offerMap.get(draftId);
7495
- if (cachedItem) {
7496
- cachedItem.setValue(offer);
7497
- }
7498
- else {
7499
- this.offerMap.set(draftId, new ScCachedItem(this.updateInterval.orderData, of(offer), loadingPlaceholder));
7500
- }
7501
- }));
7502
- }
7503
7121
  /**
7504
7122
  * Возвращает список элементов коммерческого предложения/черновика.
7505
7123
  *
@@ -7516,7 +7134,7 @@ class ScOrderDraftsService {
7516
7134
  */
7517
7135
  update$(draftId, patch) {
7518
7136
  const cachedItem = this.offerMap.get(draftId);
7519
- return this.http.patch(`${this.urls.apiUrl}/orders/offers/${draftId}`, patch).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7137
+ return this.http.patch(`${this.urls.apiUrl}/orders/offers/${draftId}`, patch).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
7520
7138
  this.userMetrikaService.emitUserMetrikaEvent({
7521
7139
  target: ScUserMetrikaGoalsEnum.orderDraftUpdated,
7522
7140
  params: { offer_id: draftId },
@@ -7555,15 +7173,6 @@ class ScOrderDraftsService {
7555
7173
  this.removeOrderedProductsFromCache(offerId, data.items ?? []);
7556
7174
  }));
7557
7175
  }
7558
- /**
7559
- * Выполняет запрос с указанным интервалом, пока вкладка браузера видна. Новый запрос не начинается до завершения предыдущего, ошибки пропускаются.
7560
- *
7561
- * @param period Интервал запросов (ms).
7562
- * @param request Функция, возвращающая запрос.
7563
- */
7564
- poll$(period, request) {
7565
- return timer(period, period).pipe(filter(() => this.document.visibilityState !== 'hidden'), exhaustMap(() => request().pipe(catchError$1(() => EMPTY))));
7566
- }
7567
7176
  /**
7568
7177
  * Убирает заказанные позиции из кэша черновика локально (сервер сразу после заказа ещё может вернуть их в списке).
7569
7178
  *
@@ -7581,15 +7190,11 @@ class ScOrderDraftsService {
7581
7190
  return;
7582
7191
  }
7583
7192
  const currentDraft = draft;
7584
- // Из черновика Профстрой позиции после оформления заказа не удаляются.
7585
- if (currentDraft.isProfstroy) {
7586
- return;
7587
- }
7588
7193
  const remainingProducts = currentDraft.products.filter((product) => !orderedIds.has(product.id));
7589
7194
  if (remainingProducts.length === currentDraft.products.length) {
7590
7195
  return;
7591
7196
  }
7592
- const updatedDraft = new ScOrderDraft(currentDraft, this.dateFormats.api);
7197
+ const updatedDraft = new ScOrderDraft(currentDraft);
7593
7198
  updatedDraft.products = remainingProducts;
7594
7199
  updatedDraft.sum = remainingProducts.reduce((sum, product) => sum + product.costRub, 0);
7595
7200
  cachedItem.setValue(updatedDraft);
@@ -7602,7 +7207,7 @@ class ScOrderDraftsService {
7602
7207
  * @param offerId Идентификатор коммерческого предложения/черновика.
7603
7208
  */
7604
7209
  addProduct$(productData, offerId) {
7605
- return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/products`, productData).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7210
+ return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/products`, productData).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
7606
7211
  if (this.offerMap.has(offerId)) {
7607
7212
  this.offerMap.get(offerId)?.setValue(offer);
7608
7213
  }
@@ -7616,7 +7221,7 @@ class ScOrderDraftsService {
7616
7221
  * @param offerId Идентификатор коммерческого предложения/черновика.
7617
7222
  */
7618
7223
  updateProduct$(productId, patch, offerId) {
7619
- return this.http.patch(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${productId}`, patch).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7224
+ return this.http.patch(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${productId}`, patch).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
7620
7225
  if (this.offerMap.has(offerId)) {
7621
7226
  this.offerMap.get(offerId)?.setValue(offer);
7622
7227
  }
@@ -7629,7 +7234,7 @@ class ScOrderDraftsService {
7629
7234
  * @param offerId Идентификатор коммерческого предложения/черновика.
7630
7235
  */
7631
7236
  deleteProduct$(item, offerId) {
7632
- return this.http.delete(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${item.id}`).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
7237
+ return this.http.delete(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${item.id}`).pipe(map$1((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
7633
7238
  if (this.offerMap.has(offerId)) {
7634
7239
  this.offerMap.get(offerId)?.setValue(offer);
7635
7240
  }
@@ -7695,13 +7300,12 @@ class ScOrdersService {
7695
7300
  });
7696
7301
  }
7697
7302
  /**
7698
- * Создаёт запрос нового заказа по указанному направлению продаж.
7303
+ * Создаёт заказы из выбранных позиций корзины.
7699
7304
  *
7700
- * @param directionId Идентификатор направления продаж.
7701
7305
  * @param newOrder Данные нового заказа.
7702
7306
  */
7703
- createOrder$(directionId, newOrder) {
7704
- return this.http.post(`${this.urls.apiUrl}/orders/${directionId}`, newOrder).pipe(map$1((orders) => orders.map((item) => new ScOrderShort(item))), tap((orders) => {
7307
+ createOrder$(newOrder) {
7308
+ return this.http.post(`${this.urls.apiUrl}/orders/from-cart`, newOrder).pipe(map$1((orders) => orders.map((item) => new ScOrderShort(item))), tap((orders) => {
7705
7309
  orders.forEach((order) => {
7706
7310
  this.userMetrikaService.emitUserMetrikaEvent({
7707
7311
  target: ScUserMetrikaGoalsEnum.orderCreated,
@@ -7709,7 +7313,7 @@ class ScOrdersService {
7709
7313
  });
7710
7314
  });
7711
7315
  }), tap(() => {
7712
- this.uiService.removeNewOrderMetadata(directionId);
7316
+ this.uiService.removeNewOrderMetadata();
7713
7317
  }));
7714
7318
  }
7715
7319
  /**
@@ -9661,5 +9265,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
9661
9265
  * Generated bundle index. Do not edit.
9662
9266
  */
9663
9267
 
9664
- export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_CANONICAL_REDIRECT_ENABLED, SC_CATALOG_ITEM_PAGE_META, SC_CATALOG_ROOT_PAGE_META, SC_CATEGORY_INFO, SC_CATEGORY_STATE, SC_COMPANY_INFO, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_ORDER_LOADER, SC_ORDER_LOADING, SC_PAGE_QUERY_PARAM, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCTS_PAGINATION_LOADER, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_SSR_RESPONSE_CACHE, SC_SSR_RESPONSE_CACHE_SETTINGS, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartService, ScCatalogFilterService, ScCatalogFormat, ScCatalogItem, ScCatalogRedirectService, ScCatalogService, ScCatalogableItem, ScCategory, ScClientType, ScCodedIdentity, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDateHelper, ScDeletableNamedIdentity, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorRequestState, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScHiddenCatalogableItem, ScIBreadcrumbItem, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScIdentity, ScImage, ScImageHelper, ScLoadingRequestState, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNamedIdentity, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderBase, ScOrderDraft, ScOrderDraftActualization, ScOrderDraftActualizationStatus, ScOrderDraftShort, ScOrderDraftType, ScOrderDraftsService, ScOrderItem, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationPageQueryParamService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScPrimaryCatalogableItem, ScProduct, ScProductTileType, ScProfstroyOrderItem, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScRedirectStatusEnum, ScReference, ScReferenceName, ScReferencesService, ScRequestStateStatusEnum, ScRequisitesService, ScRouteKeys, ScSearchService, ScSeoService, ScSocialType, ScSsrResponseCache, ScSsrResponseCacheBackend, ScSuccessRequestState, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUpdatableNamedIdentity, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, SchemaOrgFactory, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, loadingPlaceholder, mapRequestStateToDataOrNull, mapToRequestState, provideSsrResponseCache, runningOnTerminalFactory, scGetCurrentRoute, scGetPageQueryParamChanges, scOrderIsLoaded, scParsePageQueryParam, searchTermFactory };
9268
+ export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_CANONICAL_REDIRECT_ENABLED, SC_CATALOG_ITEM_PAGE_META, SC_CATALOG_ROOT_PAGE_META, SC_CATEGORY_INFO, SC_CATEGORY_STATE, SC_COMPANY_INFO, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_ORDER_LOADER, SC_ORDER_LOADING, SC_PAGE_QUERY_PARAM, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCTS_PAGINATION_LOADER, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_SSR_RESPONSE_CACHE, SC_SSR_RESPONSE_CACHE_SETTINGS, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartService, ScCatalogFilterService, ScCatalogFormat, ScCatalogItem, ScCatalogRedirectService, ScCatalogService, ScCatalogableItem, ScCategory, ScClientType, ScCodedIdentity, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDeletableNamedIdentity, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorRequestState, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScHiddenCatalogableItem, ScIBreadcrumbItem, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScIdentity, ScImage, ScImageHelper, ScLoadingRequestState, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNamedIdentity, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderBase, ScOrderDraft, ScOrderDraftShort, ScOrderDraftType, ScOrderDraftsService, ScOrderItem, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationPageQueryParamService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScPrimaryCatalogableItem, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScRedirectStatusEnum, ScReference, ScReferenceName, ScReferencesService, ScRequestStateStatusEnum, ScRequisitesService, ScRouteKeys, ScSearchService, ScSeoService, ScSocialType, ScSsrResponseCache, ScSsrResponseCacheBackend, ScSuccessRequestState, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUpdatableNamedIdentity, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, SchemaOrgFactory, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, loadingPlaceholder, mapRequestStateToDataOrNull, mapToRequestState, provideSsrResponseCache, runningOnTerminalFactory, scGetCurrentRoute, scGetPageQueryParamChanges, scOrderIsLoaded, scParsePageQueryParam, searchTermFactory };
9665
9269
  //# sourceMappingURL=snabcentr-client-core.mjs.map