@snabcentr/client-core 3.8.1 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-core",
3
- "version": "3.8.1",
3
+ "version": "3.10.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-core-lib",
6
6
  "license": "Commercial",
package/release_notes.tmp CHANGED
@@ -1,6 +1,6 @@
1
- ## 3.8.1 (2026-06-24)
1
+ ## 3.10.0 (2026-07-21)
2
2
 
3
- ### fixed (1 change)
3
+ ### changed (1 change)
4
4
 
5
- - [#13182: Исправлен редирект на родительскую категорию в браузере](web_soft/libs/angular/snabcentr-client-core-lib@7f0b85f97991cf63d7d894161c6ff530efa4c7b1) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!324))
5
+ - [#13612: Доработаны механизмы генерации Schema.org](web_soft/libs/angular/snabcentr-client-core-lib@ea02b4da7cd9e846540ec8a54d265f7e0d2fe7a0) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!330))
6
6
 
@@ -1,8 +1,8 @@
1
- import { CollectionPage, Product, WithContext } from 'schema-dts';
1
+ import { CollectionPage, Organization, Product, Thing, WithContext } from 'schema-dts';
2
2
  import { ScICategory } from '../../catalog/interfaces/sc-i-category';
3
3
  import { ScIProduct } from '../../catalog/interfaces/sc-i-product';
4
4
  import { ScIVirtualCategory } from '../../catalog/interfaces/sc-i-virtual-category';
5
- import { ScIBreadcrumbItem } from '../interfaces';
5
+ import { ScIBreadcrumbItem } from '../interfaces/sc-i-breadcrumb-item';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Механизмы генерации схем данных Schema.org.
@@ -29,8 +29,9 @@ export declare class SchemaOrgFactory {
29
29
  *
30
30
  * @param product Данные о продукте.
31
31
  * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
32
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
32
33
  */
33
- generateForProductItem(product: ScIProduct, productPath: string): WithContext<Product>;
34
+ generateForProductItem(product: ScIProduct, productPath: string, id?: string): WithContext<Product>;
34
35
  /**
35
36
  * Генерирует и возвращает схему данных для указанного продукта.
36
37
  *
@@ -39,8 +40,29 @@ export declare class SchemaOrgFactory {
39
40
  * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
40
41
  * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
41
42
  * @param breadcrumbs Данные о хлебных крошках для категории.
43
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
42
44
  */
43
- generateForCategoryItem(category: ScICategory | ScIVirtualCategory, products: ScIProduct[], categoryPath: string, productPath: string, breadcrumbs: ScIBreadcrumbItem[]): WithContext<CollectionPage>;
45
+ generateForCategoryItem(category: ScICategory | ScIVirtualCategory, products: ScIProduct[], categoryPath: string, productPath: string, breadcrumbs: ScIBreadcrumbItem[], id?: string): WithContext<CollectionPage>;
46
+ /**
47
+ * Генерирует и возвращает схему данных OnlineStore на основе данных компании из окружения.
48
+ */
49
+ generateForOrganization(): WithContext<Organization>;
50
+ /**
51
+ * Объединяет несколько JSON-LD сущностей в один документ с `@graph`.
52
+ *
53
+ * @param data Массив JSON-LD сущностей для объединения.
54
+ */
55
+ merge(data: Array<WithContext<Thing>>): WithContext<Thing>;
56
+ /**
57
+ * Формирует PostalAddress из структурированного адреса компании.
58
+ *
59
+ * @param address Структурированный адрес компании.
60
+ */
61
+ private createPostalAddress;
62
+ /**
63
+ * Формирует список ContactPoint для Organization.
64
+ */
65
+ private createOrganizationContactPoints;
44
66
  /**
45
67
  * Нормализует дату окончания цены в формат Schema.org (YYYY-MM-DD).
46
68
  *
@@ -90,6 +112,14 @@ export declare class SchemaOrgFactory {
90
112
  * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
91
113
  */
92
114
  private createCatalogBreadcrumbsList;
115
+ /**
116
+ * Создаёт элемент BreadcrumbList в формате, рекомендованном Schema.org.
117
+ *
118
+ * @param position Позиция элемента в цепочке.
119
+ * @param name Название элемента.
120
+ * @param url URL элемента.
121
+ */
122
+ private createBreadcrumbListItem;
93
123
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemaOrgFactory, never>;
94
124
  static ɵprov: i0.ɵɵInjectableDeclaration<SchemaOrgFactory>;
95
125
  }
@@ -49,6 +49,10 @@ export declare class ScSeoService {
49
49
  * Объект {@link Document}, предоставляющий доступ к DOM страницы.
50
50
  */
51
51
  private readonly document;
52
+ /**
53
+ * Фабрика для создания данных Schema.org.
54
+ */
55
+ private readonly schemaOrgFactory;
52
56
  /**
53
57
  * Фабрика для создания экземпляров {@link Renderer2}.
54
58
  */