@snabcentr/client-core 4.8.0 → 4.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": "4.8.0",
3
+ "version": "4.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
- ## 4.8.0 (2026-07-21)
1
+ ## 4.10.0 (2026-07-22)
2
2
 
3
- ### changed (1 change)
3
+ ### added (1 change)
4
4
 
5
- - [#13612: Доработана базовая информация об организации](web_soft/libs/angular/snabcentr-client-core-lib@04f0b2a28ce3f1c8b8a06441ab1e4e0f0d19d6d6) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!329))
5
+ - [#13612: Добавлены механизмы установки Schema.org для страницы новости и FAQ](web_soft/libs/angular/snabcentr-client-core-lib@d84d698c188c19bf55922fd7ab13f9cbe4d5dab3) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!331))
6
6
 
@@ -4,7 +4,7 @@ import { InjectionToken, EventEmitter, Type, ClassProvider, ValueProvider, Provi
4
4
  import { HttpRequest, HttpClient, HttpParams, HttpContextToken, HttpHandlerFn, HttpEvent, HttpContext } from '@angular/common/http';
5
5
  import * as _snabcentr_client_core from '@snabcentr/client-core';
6
6
  import { Router, ActivatedRouteSnapshot, UrlTree, CanActivateFn, ActivatedRoute } from '@angular/router';
7
- import { WithContext, Product, CollectionPage, Thing } from 'schema-dts';
7
+ import { WithContext, Product, CollectionPage, Organization, NewsArticle, FAQPage, Thing } from 'schema-dts';
8
8
 
9
9
  /**
10
10
  * Статусы состояния запроса.
@@ -9318,8 +9318,9 @@ declare class SchemaOrgFactory {
9318
9318
  *
9319
9319
  * @param product Данные о продукте.
9320
9320
  * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
9321
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
9321
9322
  */
9322
- generateForProductItem(product: ScIProduct, productPath: string): WithContext<Product>;
9323
+ generateForProductItem(product: ScIProduct, productPath: string, id?: string): WithContext<Product>;
9323
9324
  /**
9324
9325
  * Генерирует и возвращает схему данных для указанного продукта.
9325
9326
  *
@@ -9328,8 +9329,58 @@ declare class SchemaOrgFactory {
9328
9329
  * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
9329
9330
  * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
9330
9331
  * @param breadcrumbs Данные о хлебных крошках для категории.
9332
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
9331
9333
  */
9332
- generateForCategoryItem(category: ScICategory | ScIVirtualCategory, products: ScIProduct[], categoryPath: string, productPath: string, breadcrumbs: ScIBreadcrumbItem[]): WithContext<CollectionPage>;
9334
+ generateForCategoryItem(category: ScICategory | ScIVirtualCategory, products: ScIProduct[], categoryPath: string, productPath: string, breadcrumbs: ScIBreadcrumbItem[], id?: string): WithContext<CollectionPage>;
9335
+ /**
9336
+ * Генерирует и возвращает схему данных OnlineStore на основе данных компании из окружения.
9337
+ */
9338
+ generateForOrganization(): WithContext<Organization>;
9339
+ /**
9340
+ * Генерирует и возвращает схему данных для указанной новости.
9341
+ *
9342
+ * @param news Данные о новости.
9343
+ * @param newsPath Url путь к новости. В пути должен присутствовать шаблон ':id', обозначающий идентификатор новости для подстановки.
9344
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
9345
+ */
9346
+ generateForNewsArticle(news: ScINews, newsPath: string, id?: string): WithContext<NewsArticle>;
9347
+ /**
9348
+ * Генерирует и возвращает схему данных FAQPage для страницы с вопросами и ответами.
9349
+ *
9350
+ * @param items Список вопросов и ответов.
9351
+ * @param pagePath Url путь к странице FAQ.
9352
+ * @param pageName Необязательное название страницы.
9353
+ * @param id Необязательный идентификатор сущности для поля `@id` в JSON-LD.
9354
+ */
9355
+ generateForFaqPage(items: ScFaqItem[], pagePath: string, pageName?: string, id?: string): WithContext<FAQPage>;
9356
+ /**
9357
+ * Объединяет несколько JSON-LD сущностей в один документ с `@graph`.
9358
+ *
9359
+ * @param data Массив JSON-LD сущностей для объединения.
9360
+ */
9361
+ merge(data: Array<WithContext<Thing>>): WithContext<Thing>;
9362
+ /**
9363
+ * Формирует PostalAddress из структурированного адреса компании.
9364
+ *
9365
+ * @param address Структурированный адрес компании.
9366
+ */
9367
+ private createPostalAddress;
9368
+ /**
9369
+ * Формирует список ContactPoint для Organization.
9370
+ */
9371
+ private createOrganizationContactPoints;
9372
+ /**
9373
+ * Удаляет HTML-разметку из текста.
9374
+ *
9375
+ * @param html Текст с HTML-разметкой.
9376
+ */
9377
+ private stripHtml;
9378
+ /**
9379
+ * Нормализует дату в формат Schema.org (ISO 8601).
9380
+ *
9381
+ * @param dateValue Дата для нормализации.
9382
+ */
9383
+ private normalizeSchemaDate;
9333
9384
  /**
9334
9385
  * Нормализует дату окончания цены в формат Schema.org (YYYY-MM-DD).
9335
9386
  *
@@ -9379,6 +9430,14 @@ declare class SchemaOrgFactory {
9379
9430
  * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
9380
9431
  */
9381
9432
  private createCatalogBreadcrumbsList;
9433
+ /**
9434
+ * Создаёт элемент BreadcrumbList в формате, рекомендованном Schema.org.
9435
+ *
9436
+ * @param position Позиция элемента в цепочке.
9437
+ * @param name Название элемента.
9438
+ * @param url URL элемента.
9439
+ */
9440
+ private createBreadcrumbListItem;
9382
9441
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemaOrgFactory, never>;
9383
9442
  static ɵprov: i0.ɵɵInjectableDeclaration<SchemaOrgFactory>;
9384
9443
  }
@@ -9432,6 +9491,10 @@ declare class ScSeoService {
9432
9491
  * Объект {@link Document}, предоставляющий доступ к DOM страницы.
9433
9492
  */
9434
9493
  private readonly document;
9494
+ /**
9495
+ * Фабрика для создания данных Schema.org.
9496
+ */
9497
+ private readonly schemaOrgFactory;
9435
9498
  /**
9436
9499
  * Фабрика для создания экземпляров {@link Renderer2}.
9437
9500
  */
@@ -9446,15 +9509,17 @@ declare class ScSeoService {
9446
9509
  * @param resource Ресурс на основе которого необходимо установить мета-теги.
9447
9510
  * @param img Изображение. Если не пришло, то будет установлено значение по умолчанию.
9448
9511
  * @param robots Список robots-тегов для страницы.
9512
+ * @param schemaOrgData Данные Schema.org для встраивания на странице.
9449
9513
  */
9450
- setFromResource(resource?: ScISeo, img?: string, robots?: RobotsTagType[]): void;
9514
+ setFromResource(resource?: ScISeo, img?: string, robots?: RobotsTagType[], schemaOrgData?: WithContext<Thing>): void;
9451
9515
  /**
9452
9516
  * Устанавливает seo параметры со значением по умолчанию.
9453
9517
  *
9454
9518
  * @param title Заголовок страницы.
9455
9519
  * @param robots Список robots тегов для страницы.
9520
+ * @param schemaOrgData Данные Schema.org для встраивания на странице.
9456
9521
  */
9457
- setByDefault(title?: string, robots?: RobotsTagType[]): void;
9522
+ setByDefault(title?: string, robots?: RobotsTagType[], schemaOrgData?: WithContext<Thing>): void;
9458
9523
  /**
9459
9524
  * Устанавливает seo параметры со значением по умолчанию. Устанавливает значение "не индексировать" для поисковых роботов.
9460
9525
  *