@snabcentr/client-core 3.10.0 → 3.12.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.10.0",
3
+ "version": "3.12.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-core-lib",
6
6
  "license": "Commercial",
@@ -18,7 +18,7 @@
18
18
  "@taiga-ui/cdk": "^4.16.0",
19
19
  "@taiga-ui/core": "^4.16.0",
20
20
  "rxjs": "^7.8.1",
21
- "schema-dts": "^1.1.2",
21
+ "schema-dts": "^2.0.0",
22
22
  "ts-case-convert": "^2.1.0",
23
23
  "zone.js": "~0.14.10",
24
24
  "lodash-es": "^4.17.23",
@@ -1,11 +1,16 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ScCategory } from '../catalog/dto/sc-category';
4
+ import { ScIRequestState } from '../common/interfaces/sc-i-request-state';
5
+ /**
6
+ * Токен состояния запроса данных о категории (загрузка / успех / ошибка).
7
+ */
8
+ export declare const SC_CATEGORY_STATE: InjectionToken<Observable<ScIRequestState<ScCategory | null>>>;
4
9
  /**
5
10
  * Токен потока данных о категории.
6
11
  */
7
12
  export declare const SC_CATEGORY_INFO: InjectionToken<Observable<ScCategory | null>>;
8
13
  /**
9
- * Провайдеры потока данных о категории.
14
+ * Провайдеры состояния и потока данных о категории.
10
15
  */
11
16
  export declare const CATEGORY_PROVIDERS: Provider[];
package/release_notes.tmp CHANGED
@@ -1,6 +1,6 @@
1
- ## 3.10.0 (2026-07-21)
1
+ ## 3.12.0 (2026-07-24)
2
2
 
3
- ### changed (1 change)
3
+ ### added (1 change)
4
4
 
5
- - [#13612: Доработаны механизмы генерации Schema.org](web_soft/libs/angular/snabcentr-client-core-lib@ea02b4da7cd9e846540ec8a54d265f7e0d2fe7a0) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!330))
5
+ - [#13182: Добавлены редирект на родительскую категорию при недоступности...](web_soft/libs/angular/snabcentr-client-core-lib@9ebdca6a46ea422414bcef956aa83c0c4f737746) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!332))
6
6
 
@@ -1,7 +1,9 @@
1
- import { CollectionPage, Organization, Product, Thing, WithContext } from 'schema-dts';
1
+ import { CollectionPage, FAQPage, NewsArticle, 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 { ScFaqItem } from '../../frequently-asked-questions/interfaces/sc-i-faq-item';
6
+ import { ScINews } from '../../news/interfaces/sc-i-news';
5
7
  import { ScIBreadcrumbItem } from '../interfaces/sc-i-breadcrumb-item';
6
8
  import * as i0 from "@angular/core";
7
9
  /**
@@ -47,6 +49,23 @@ export declare class SchemaOrgFactory {
47
49
  * Генерирует и возвращает схему данных OnlineStore на основе данных компании из окружения.
48
50
  */
49
51
  generateForOrganization(): WithContext<Organization>;
52
+ /**
53
+ * Генерирует и возвращает схему данных для указанной новости.
54
+ *
55
+ * @param news Данные о новости.
56
+ * @param newsPath Url путь к новости. В пути должен присутствовать шаблон ':id', обозначающий идентификатор новости для подстановки.
57
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
58
+ */
59
+ generateForNewsArticle(news: ScINews, newsPath: string, id?: string): WithContext<NewsArticle>;
60
+ /**
61
+ * Генерирует и возвращает схему данных FAQPage для страницы с вопросами и ответами.
62
+ *
63
+ * @param items Список вопросов и ответов.
64
+ * @param pagePath Url путь к странице FAQ.
65
+ * @param pageName Необязательное название страницы.
66
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
67
+ */
68
+ generateForFaqPage(items: ScFaqItem[], pagePath: string, pageName?: string, id?: string): WithContext<FAQPage>;
50
69
  /**
51
70
  * Объединяет несколько JSON-LD сущностей в один документ с `@graph`.
52
71
  *
@@ -63,6 +82,18 @@ export declare class SchemaOrgFactory {
63
82
  * Формирует список ContactPoint для Organization.
64
83
  */
65
84
  private createOrganizationContactPoints;
85
+ /**
86
+ * Удаляет HTML-разметку из текста.
87
+ *
88
+ * @param html Текст с HTML-разметкой.
89
+ */
90
+ private stripHtml;
91
+ /**
92
+ * Нормализует дату в формат Schema.org (ISO 8601).
93
+ *
94
+ * @param dateValue Дата для нормализации.
95
+ */
96
+ private normalizeSchemaDate;
66
97
  /**
67
98
  * Нормализует дату окончания цены в формат Schema.org (YYYY-MM-DD).
68
99
  *
@@ -65,17 +65,19 @@ export declare class ScSeoService {
65
65
  * Устанавливает seo параметры на основе указанного ресурса. Если какого-то тега нет, будет установлено значение по умолчанию.
66
66
  *
67
67
  * @param resource Ресурс на основе которого необходимо установить мета-теги.
68
- * @param img Изображение. Если не пришло, то будет установлено значение по умолчанию.
69
- * @param robots Список robots-тегов для страницы.
68
+ * @param img Изображение. Если не пришло, то будет установлено значение по умолчанию (logo компании).
69
+ * @param robots Список robots-тегов для страницы. Значение по умолчанию (['index', 'follow']).
70
+ * @param schemaOrgData Данные Schema.org для встраивания на странице.
70
71
  */
71
- setFromResource(resource?: ScISeo, img?: string, robots?: RobotsTagType[]): void;
72
+ setFromResource(resource?: ScISeo, img?: string, robots?: RobotsTagType[], schemaOrgData?: WithContext<Thing>): void;
72
73
  /**
73
74
  * Устанавливает seo параметры со значением по умолчанию.
74
75
  *
75
76
  * @param title Заголовок страницы.
76
- * @param robots Список robots тегов для страницы.
77
+ * @param robots Список robots тегов для страницы. Значение по умолчанию (['index', 'follow']).
78
+ * @param schemaOrgData Данные Schema.org для встраивания на странице.
77
79
  */
78
- setByDefault(title?: string, robots?: RobotsTagType[]): void;
80
+ setByDefault(title?: string, robots?: RobotsTagType[], schemaOrgData?: WithContext<Thing>): void;
79
81
  /**
80
82
  * Устанавливает seo параметры со значением по умолчанию. Устанавливает значение "не индексировать" для поисковых роботов.
81
83
  *