@pisapp/core 7.0.0-dev.20260916-153034 → 7.0.0-dev.20261029-122603

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 (59) hide show
  1. package/LICENSE +26 -18
  2. package/README.md +3 -0
  3. package/catalogs.js +3 -3
  4. package/chunks/AttributesTable-DRKGguZ2.js +3474 -0
  5. package/chunks/PisGlobal-CPAlhOni.js +94 -0
  6. package/chunks/ProductsDetailsHeader-DfVlpJh_.js +4442 -0
  7. package/chunks/carousel.es-DBv2Q2Xn.js +1602 -0
  8. package/chunks/directives-8QlgHJi7.js +8244 -0
  9. package/chunks/entry-CwhdPOkr.js +9948 -0
  10. package/chunks/entry-DVqVFTtL.js +5687 -0
  11. package/chunks/entry-Dyo7FMUS.js +2207 -0
  12. package/chunks/registerCustomElements-CWZenCp9.js +426 -0
  13. package/classifications.js +2 -2
  14. package/core.js +3 -3
  15. package/generated/registries.json +2775 -0
  16. package/index.js +7 -6
  17. package/migration/API_V1_TO_V2_MIGRATION.md +1704 -177
  18. package/migration/legacy-option-rules.json +51 -6
  19. package/migration/v7.json +2983 -441
  20. package/migration/v7.schema.json +61 -2
  21. package/package.json +17 -8
  22. package/pis-csp.js +7 -7
  23. package/pis.js +9 -9
  24. package/products.js +3 -1
  25. package/server.js +354 -0
  26. package/styles/pis.css +1 -1
  27. package/styles/theme-abb.optimized.css +1 -1
  28. package/styles/theme-cux2-blue-dark.css +1 -1
  29. package/styles/theme-cux2-blue-dark.optimized.css +1 -1
  30. package/styles/theme-cux2-blue-light.css +1 -1
  31. package/styles/theme-cux2-blue-light.optimized.css +1 -1
  32. package/styles/theme-cux2-lilac-dark.css +1 -1
  33. package/styles/theme-cux2-lilac-dark.optimized.css +1 -1
  34. package/styles/theme-cux2-lilac-light.css +1 -1
  35. package/styles/theme-cux2-lilac-light.optimized.css +1 -1
  36. package/styles/theme-cux2-mono-dark.css +1 -1
  37. package/styles/theme-cux2-mono-dark.optimized.css +1 -1
  38. package/styles/theme-cux2-mono-light.css +1 -1
  39. package/styles/theme-cux2-mono-light.optimized.css +1 -1
  40. package/styles/theme-cux2-red-dark.css +1 -1
  41. package/styles/theme-cux2-red-dark.optimized.css +1 -1
  42. package/styles/theme-cux2-red-light.css +1 -1
  43. package/styles/theme-cux2-red-light.optimized.css +1 -1
  44. package/types.d.ts +797 -587
  45. package/catalogs.d.ts +0 -7725
  46. package/chunks/catalogs-domain-DJxK_B5E.js +0 -9060
  47. package/chunks/catalogs-domain-DJxK_B5E.js.map +0 -1
  48. package/chunks/classifications-domain-DdIJaF1D.js +0 -1980
  49. package/chunks/classifications-domain-DdIJaF1D.js.map +0 -1
  50. package/chunks/icons-shared-B8v5z3BE.js +0 -1387
  51. package/chunks/icons-shared-B8v5z3BE.js.map +0 -1
  52. package/chunks/products-domain-99vJaUyI.js +0 -22587
  53. package/chunks/products-domain-99vJaUyI.js.map +0 -1
  54. package/classifications.d.ts +0 -7725
  55. package/core.d.ts +0 -7711
  56. package/index.d.ts +0 -7992
  57. package/pis-csp.js.map +0 -1
  58. package/pis.js.map +0 -1
  59. package/products.d.ts +0 -7746
package/types.d.ts CHANGED
@@ -5,11 +5,11 @@ declare type ActionInfo = {
5
5
  /**
6
6
  * Identifier of the object the entry relates to, for example the product or alias that was rejected.
7
7
  */
8
- id: string;
8
+ id: string | null;
9
9
  /**
10
10
  * Human-readable message describing the error or warning.
11
11
  */
12
- message: string;
12
+ message: string | null;
13
13
  };
14
14
 
15
15
  /** Toolbar customActions / menu button. */
@@ -116,7 +116,7 @@ declare type AliasSettings = {
116
116
  /**
117
117
  * List of customers for which alias display and search is enabled. Each customer is identified by system ID, sales unit, and customer ID.
118
118
  */
119
- customers?: Array<Customer>;
119
+ customers?: Array<Customer> | null;
120
120
  };
121
121
 
122
122
  /** Aliases-table cell: catalog-type metadata but NO baseProductDetails. */
@@ -139,20 +139,24 @@ declare type ApplicationFilters = {
139
139
  /**
140
140
  * One or more CID identifiers from the ABB Offering Tree. Restricts results to product instances classified below the specified CIDs.
141
141
  */
142
- restrictedCids?: Array<string>;
142
+ restrictedCids?: Array<string> | null;
143
143
  /**
144
- * Data Owner identifiers. Includes supplier-specific products (marked with "Supplier Specific Detail" = "Yes") that are normally hidden from regular customers.
144
+ * Data Owner identifiers whose supplier-specific products may be included. Regular products are always included; supplier-specific products are otherwise hidden.
145
145
  */
146
- dataOwners?: Array<string>;
147
- inclusionCriteria?: CriteriaGroup;
148
- exclusionCriteria?: CriteriaGroup;
146
+ supplierSpecificDataOwners?: Array<string> | null;
147
+ inclusionCriteria?: CriteriaGroup | null;
148
+ exclusionCriteria?: CriteriaGroup | null;
149
149
  /**
150
150
  * When true, product table data matching is performed per row instead of against the entire data set.
151
151
  */
152
- tableRowMatching?: boolean;
153
- categoryInclusionCriteria?: CategoryCriteria;
154
- categoryExclusionCriteria?: CategoryCriteria;
155
- explicitProductFilter?: ExplicitProductFilter;
152
+ tableRowMatching?: boolean | null;
153
+ categoryInclusionCriteria?: CategoryCriteria | null;
154
+ categoryExclusionCriteria?: CategoryCriteria | null;
155
+ explicitProductFilter?: ExplicitProductFilter | null;
156
+ /**
157
+ * When true, single-product lookups (Detail, Preview, and PDF) ignore the publisher and application filters (country availability, spare-part tree, these filters, and app-specific settings), matching v1 behaviour. When null or false, the product is returned only when it passes all filters.
158
+ */
159
+ disableStrictDetailFiltering?: boolean | null;
156
160
  };
157
161
 
158
162
  /**
@@ -162,11 +166,11 @@ declare type ApplicationUseSettings = {
162
166
  /**
163
167
  * Disable application use check. When set to true the default logic for Application Use and Application Use Type user fields is ignored.
164
168
  */
165
- disable?: boolean;
169
+ disable?: boolean | null;
166
170
  /**
167
171
  * List of exception cids
168
172
  */
169
- exceptionCids?: Array<string>;
173
+ exceptionCids?: Array<string> | null;
170
174
  };
171
175
 
172
176
  /**
@@ -176,19 +180,19 @@ export declare type AppSettings = {
176
180
  /**
177
181
  * ISO country code used to filter products by Country Market Availability. Only product instances available for the designated country will be returned.
178
182
  */
179
- countryCode?: string;
180
- treeType?: CategoryTreeTypeEnum;
183
+ countryCode?: string | null;
184
+ treeType?: CategoryTreeTypeEnum | null;
181
185
  /**
182
186
  * Controls whether internal-only data visible to ABB users is included. Requires application-level authorization.
183
187
  */
184
- includeInternalData?: boolean;
185
- aliases?: AliasSettings;
186
- filters?: ApplicationFilters;
187
- appSpecific?: AppSpecificSettings;
188
+ includeInternalData?: boolean | null;
189
+ aliases?: AliasSettings | null;
190
+ filters?: ApplicationFilters | null;
191
+ appSpecific?: AppSpecificSettings | null;
188
192
  /**
189
193
  * AGM (Attribute Group Management) predefined list code. When provided, search results are pre-filtered to show only attributes and values defined in the specified AGM list.
190
194
  */
191
- agmListCode?: string;
195
+ agmListCode?: string | null;
192
196
  /**
193
197
  * Application code identifying the front-end application. Products are filtered by their Publishers attribute to match this code. Required.
194
198
  */
@@ -196,7 +200,7 @@ export declare type AppSettings = {
196
200
  /**
197
201
  * ISO language code for translations of labels, attribute names, and values. Defaults to "en" (English).
198
202
  */
199
- langCode?: string;
203
+ langCode?: string | null;
200
204
  };
201
205
 
202
206
  /**
@@ -206,27 +210,27 @@ declare type AppSpecificSettings = {
206
210
  /**
207
211
  * When true, removes the leading "ABB" prefix from attribute display names in the response.
208
212
  */
209
- genericizeAttName?: boolean;
213
+ genericizeAttName?: boolean | null;
210
214
  /**
211
215
  * Sales Unit Organization code. Enables Local Order Code search and display for the specified sales unit.
212
216
  */
213
- salesUnitCode?: string;
217
+ salesUnitCode?: string | null;
214
218
  /**
215
219
  * When true, returns all available replacement products. When false, only replacements for obsolete or inactive products are returned. Applicable only in the Search method.
216
220
  */
217
- allReplacements?: boolean;
221
+ allReplacements?: boolean | null;
218
222
  /**
219
223
  * Sales unit codes for local products. Includes products marked as "Local Product" = "Yes" that are normally hidden from standard search results.
220
224
  */
221
- sellingUnitForLocalProducts?: Array<string>;
225
+ sellingUnitForLocalProducts?: Array<string> | null;
222
226
  /**
223
227
  * Standardization body codes (e.g. "IEC", "UL"). When specified, attributes from non-matching certification agencies are excluded from results.
224
228
  */
225
- standardizationBody?: Array<string>;
229
+ standardizationBody?: Array<string> | null;
226
230
  /**
227
231
  * Customer identities that enable customer-specific product visibility and "product available by customer" features.
228
232
  */
229
- customers?: Array<Customer>;
233
+ customers?: Array<Customer> | null;
230
234
  };
231
235
 
232
236
  /**
@@ -255,7 +259,7 @@ export declare type AttributeCriterion = {
255
259
  /**
256
260
  * Values to match when is . Must be omitted for .
257
261
  */
258
- values?: Array<CriterionValue>;
262
+ values?: Array<CriterionValue> | null;
259
263
  operator: CriteriaOperationEnum;
260
264
  };
261
265
 
@@ -278,7 +282,7 @@ declare type AttributeGroup = {
278
282
  /**
279
283
  * Attribute group spare part supplier code
280
284
  */
281
- sparePartSupplier?: string;
285
+ sparePartSupplier?: string | null;
282
286
  /**
283
287
  * Dictionary of product attributes Key is attribute code
284
288
  */
@@ -288,7 +292,7 @@ declare type AttributeGroup = {
288
292
  /**
289
293
  * Linked relationship
290
294
  */
291
- relationshipCodes?: Array<string>;
295
+ relationshipCodes?: Array<string> | null;
292
296
  };
293
297
 
294
298
  /**
@@ -298,11 +302,11 @@ declare type AttributeGroupSearchResult = {
298
302
  /**
299
303
  * Attribute group items
300
304
  */
301
- items?: Array<AttributeGroup>;
305
+ items?: Array<AttributeGroup> | null;
302
306
  /**
303
307
  * Applied AGM detail page list code.
304
308
  */
305
- listCode?: string;
309
+ listCode?: string | null;
306
310
  };
307
311
 
308
312
  /**
@@ -348,17 +352,17 @@ declare type AttributeValue = {
348
352
  /**
349
353
  * Enumeration value code Populated only for attributes of type Enumeration
350
354
  */
351
- enumerationValueCode?: string;
355
+ enumerationValueCode?: string | null;
352
356
  /**
353
357
  * Parsed attribute value with valid product identifiers marked inside double curly braces "{{ProductId}}". Example: Log / Set incl. 1 pc {{3BSE007949R1}} DSAI 146
354
358
  */
355
- interactiveText?: string;
356
- link?: Link;
359
+ interactiveText?: string | null;
360
+ link?: Link | null;
357
361
  /**
358
362
  * Tool tip.
359
363
  */
360
- tooltip?: string;
361
- rawValue?: CriterionValue;
364
+ tooltip?: string | null;
365
+ rawValue?: CriterionValue | null;
362
366
  };
363
367
 
364
368
  /** First value of an attribute on an item. */
@@ -374,15 +378,15 @@ declare type AutocompleteItem = {
374
378
  /**
375
379
  * Customer-specific alias identifiers for this product.
376
380
  */
377
- aliases?: Array<string>;
381
+ aliases?: Array<string> | null;
378
382
  /**
379
383
  * Replacement products available for this item (e.g. successor or substitute products).
380
384
  */
381
- replacements?: Array<ProductReplacement>;
385
+ replacements?: Array<ProductReplacement> | null;
382
386
  /**
383
387
  * Additional metadata entries attached to this product (e.g. configurator links, ordering info).
384
388
  */
385
- additionalInfo?: Array<ProductAdditionalInfo>;
389
+ additionalInfo?: Array<ProductAdditionalInfo> | null;
386
390
  /**
387
391
  * When true, the product is inactive and navigation to detail/preview should be disabled in the UI.
388
392
  */
@@ -390,7 +394,7 @@ declare type AutocompleteItem = {
390
394
  /**
391
395
  * Product images.
392
396
  */
393
- images?: Array<PisImage>;
397
+ images?: Array<PisImage> | null;
394
398
  /**
395
399
  * Indicates whether the product is published and visible for the current application.
396
400
  */
@@ -398,7 +402,7 @@ declare type AutocompleteItem = {
398
402
  /**
399
403
  * All available PRM relationship identifiers for this product (e.g. accessories, spare parts, replacements).
400
404
  */
401
- allRelationships?: Array<PrmRelationshipIdentifier>;
405
+ allRelationships?: Array<PrmRelationshipIdentifier> | null;
402
406
  /**
403
407
  * Indicates whether variants of the product are available.
404
408
  */
@@ -406,19 +410,19 @@ declare type AutocompleteItem = {
406
410
  /**
407
411
  * List of variant attributes associated with the product item
408
412
  */
409
- variantAttributes?: Array<Attribute>;
413
+ variantAttributes?: Array<Attribute> | null;
410
414
  /**
411
415
  * Customer specific data. Contains information such as Customer system id, customer sales unit, customer id, and restriction status for each customer.
412
416
  */
413
- customerSpecificData?: Array<CustomerSpecificData>;
417
+ customerSpecificData?: Array<CustomerSpecificData> | null;
414
418
  /**
415
419
  * Extended Object Data (EOM) associated with the product. Contains additional metadata and structured information for the product. To retrieve EOM data, must be set to true.
416
420
  */
417
- extendedObjectData?: Array<EomObject>;
421
+ extendedObjectData?: Array<EomObject> | null;
418
422
  /**
419
423
  * Product domain
420
424
  */
421
- productIdDomain?: string;
425
+ productIdDomain?: string | null;
422
426
  /**
423
427
  * Identifies whether product is spare part.
424
428
  */
@@ -427,7 +431,7 @@ declare type AutocompleteItem = {
427
431
  * Exact Match is true when search text matches any of product identifiers.
428
432
  */
429
433
  exactMatch: boolean;
430
- classifications?: ProductItemClassifications;
434
+ classifications?: ProductItemClassifications | null;
431
435
  /**
432
436
  * Product identifier.
433
437
  */
@@ -507,6 +511,25 @@ export declare interface BaseOptions {
507
511
  * When set to true, loaded translations are cached in SessionStorage
508
512
  */
509
513
  cacheTranslations?: boolean;
514
+ /**
515
+ * When set to true, interactive elements rendered by the components (buttons,
516
+ * links, form controls, tabs, and other focusable or ARIA-interactive
517
+ * controls) receive a deterministic `data-test-id` attribute for automated UI
518
+ * tests. Ids follow `<component-name>[-<hook>]-<kind>[-<n> | ~<data-key>...]`, where
519
+ * `hook` comes from the element's `ext-*` customization classes or `name`
520
+ * attribute and each `~<data-key>` is the `productId`, `cid`, `attributeCode`,
521
+ * or filter value of a data item the element is rendered for. Only ids
522
+ * without data keys are numbered (`-<n>`) when they repeat. Attribute group
523
+ * headers, attribute labels, and attribute values are also stamped
524
+ * (`<component-name>-header~<group code>`,
525
+ * `<component-name>-attribute-label~<attributeCode>`,
526
+ * `<component-name>-attribute-value~<attributeCode>`). Catalog previews
527
+ * reuse the attribute label/value ids; classification node names use
528
+ * `<component-name>-node-label~<cid>`.
529
+ * Explicit `data-test-id` values and consumer template content are left
530
+ * untouched. Defaults to false; no attributes are emitted when disabled.
531
+ */
532
+ testMode?: boolean;
510
533
  /**
511
534
  * Use to handle errors, change error text, or suppress default error messages
512
535
  */
@@ -554,7 +577,7 @@ declare type BreadcrumbsSearchResult = {
554
577
  /**
555
578
  * Ordered list of breadcrumb nodes from root to the current classification level.
556
579
  */
557
- items?: Array<BreadcrumbItem>;
580
+ items?: Array<BreadcrumbItem> | null;
558
581
  };
559
582
 
560
583
  declare type CancelJobCommandArgs = {
@@ -569,7 +592,8 @@ export declare interface CardComponentOptions extends BaseComponentOptions {
569
592
  card?: boolean;
570
593
  /**
571
594
  * When true, displays the default icon associated with the component.
572
- * Default value is true.
595
+ * Products search categories, filters, favorite categories, and favorite views default to false;
596
+ * Catalogs cards default to true.
573
597
  */
574
598
  icon?: boolean;
575
599
  /**
@@ -577,6 +601,12 @@ export declare interface CardComponentOptions extends BaseComponentOptions {
577
601
  * Default value is false.
578
602
  */
579
603
  collapsed?: boolean;
604
+ /**
605
+ * When true, removes card, header, and footer backgrounds, borders, and shadows while retaining card spacing and collapse behavior.
606
+ * List backgrounds are transparent; interactive list states and controls keep their styling.
607
+ * Has no effect when card is false. Default value is false.
608
+ */
609
+ transparent?: boolean;
580
610
  }
581
611
 
582
612
  /**
@@ -705,11 +735,23 @@ export declare interface CatalogAliasesSearchOptions {
705
735
  /** Alias filters options. */
706
736
  filters?: CatalogAliasFiltersOptions;
707
737
  /** Alias search toolbar options. */
708
- toolbar?: CatalogSearchToolbarOptions;
738
+ toolbar?: CatalogAliasesSearchToolbarOptions;
709
739
  /** Alias results table options. */
710
740
  table?: CatalogAliasesTableOptions;
711
741
  }
712
742
 
743
+ export declare interface CatalogAliasesSearchToolbarOptions extends BaseComponentOptions {
744
+ /**
745
+ * Page size selection for alias search results, for example [12,24]
746
+ */
747
+ pageSizes?: number[];
748
+ /**
749
+ * Alias list actions dropdown button (trigger) callbacks. Takes precedence over
750
+ * `components.search.common.actions.aliasListMenu.buttonTemplate`.
751
+ */
752
+ buttonTemplate?: MountPoint<CatalogsAliasesSearchToolbarButtonContext>;
753
+ }
754
+
713
755
  export declare interface CatalogAliasesTableOptions extends BaseComponentOptions {
714
756
  /**
715
757
  * Table columns configuration
@@ -732,8 +774,9 @@ declare interface CatalogAnyActionCommandArgs {
732
774
  * Application context of the request, identifying the calling application and language. Required.
733
775
  */
734
776
  declare type CatalogAppSettings = {
735
- client?: ClientInfo;
736
- catalogType?: CatalogTypeEnum;
777
+ appSpecific?: CatalogAppSpecificSettings | null;
778
+ aliases?: AliasSettings | null;
779
+ catalogType?: CatalogTypeEnum | null;
737
780
  /**
738
781
  * Application code identifying the front-end application. Products are filtered by their Publishers attribute to match this code. Required.
739
782
  */
@@ -741,19 +784,17 @@ declare type CatalogAppSettings = {
741
784
  /**
742
785
  * ISO language code for translations of labels, attribute names, and values. Defaults to "en" (English).
743
786
  */
744
- langCode?: string;
745
- appSpecific?: CatalogAppSpecificSettings;
746
- aliases?: AliasSettings;
787
+ langCode?: string | null;
747
788
  };
748
789
 
749
790
  /**
750
- * Catalog application specific settings
791
+ * Catalog-specific feature settings used when listing configured aliases.
751
792
  */
752
793
  declare type CatalogAppSpecificSettings = {
753
794
  /**
754
795
  * Enables configured item aliases. When enabled all configured items will have alias view, search and editing features.
755
796
  */
756
- configuredItemAliasesEnabled?: boolean;
797
+ configuredItemAliasesEnabled?: boolean | null;
757
798
  };
758
799
 
759
800
  declare interface CatalogCopyActionData {
@@ -787,7 +828,11 @@ declare type CatalogDetail = {
787
828
  /**
788
829
  * Quantities
789
830
  */
790
- quantities?: Array<QuantityItem>;
831
+ quantities?: Array<QuantityItem> | null;
832
+ /**
833
+ * Custom fields to store additional information in key value pair format used by front end application
834
+ */
835
+ customFields?: Array<CustomFieldItem> | null;
791
836
  /**
792
837
  * Unique identifier of the catalog, used to reference it in subsequent requests.
793
838
  */
@@ -832,7 +877,7 @@ declare interface CatalogExportCommandArgs extends CatalogAnyActionCommandArgs {
832
877
  }
833
878
 
834
879
  /**
835
- * Price settings
880
+ * Price export settings.
836
881
  */
837
882
  declare type CatalogExportPriceSettings = {
838
883
  /**
@@ -1156,15 +1201,15 @@ declare type CatalogProductAddItem = {
1156
1201
  /**
1157
1202
  * Description
1158
1203
  */
1159
- description?: string;
1204
+ description?: string | null;
1160
1205
  /**
1161
1206
  * Customer classification
1162
1207
  */
1163
- customerClassification?: string;
1208
+ customerClassification?: string | null;
1164
1209
  /**
1165
1210
  * Base product id
1166
1211
  */
1167
- baseProductId?: string;
1212
+ baseProductId?: string | null;
1168
1213
  /**
1169
1214
  * Quantity
1170
1215
  */
@@ -1176,15 +1221,15 @@ declare type CatalogProductAddItem = {
1176
1221
  /**
1177
1222
  * Store additional information used by front end application
1178
1223
  */
1179
- store?: string;
1224
+ store?: string | null;
1180
1225
  /**
1181
1226
  * Custom fields to store additional information in key value pair format used by front end application
1182
1227
  */
1183
- customFields?: Array<CustomFieldItem>;
1228
+ customFields?: Array<CustomFieldItem> | null;
1184
1229
  /**
1185
1230
  * Alternate Product id
1186
1231
  */
1187
- alternateProductId?: string;
1232
+ alternateProductId?: string | null;
1188
1233
  };
1189
1234
 
1190
1235
  declare interface CatalogProductCopyActionData {
@@ -1219,7 +1264,7 @@ declare type CatalogProductItem = {
1219
1264
  /**
1220
1265
  * List of aliases
1221
1266
  */
1222
- aliases?: Array<AliasItem>;
1267
+ aliases?: Array<AliasItem> | null;
1223
1268
  /**
1224
1269
  * Specifies whenever product is inactive and navigation for details and preview should be disabled.
1225
1270
  */
@@ -1227,45 +1272,41 @@ declare type CatalogProductItem = {
1227
1272
  /**
1228
1273
  * Catalogs
1229
1274
  */
1230
- catalogs?: Array<CatalogDetail>;
1275
+ catalogs?: Array<CatalogDetail> | null;
1231
1276
  productType: CatalogProductTypeEnum;
1232
1277
  /**
1233
1278
  * Product images
1234
1279
  */
1235
- images?: Array<PisImage>;
1236
- baseProduct?: ProductItem;
1280
+ images?: Array<PisImage> | null;
1281
+ baseProduct?: ProductItem | null;
1237
1282
  /**
1238
1283
  * Customer classification
1239
1284
  */
1240
- customerClassification?: string;
1285
+ customerClassification?: string | null;
1241
1286
  /**
1242
1287
  * Product modified date In Alias mode, property contains latest DateModified from all product aliases.
1243
1288
  */
1244
- dateModified?: string;
1289
+ dateModified?: string | null;
1245
1290
  /**
1246
1291
  * Product created date In Alias mode, property contains latest DateCreated from all product aliases.
1247
1292
  */
1248
- dateCreated?: string;
1249
- /**
1250
- * Custom fields to store additional information in key value pair format used by front end application
1251
- */
1252
- customFields?: Array<CustomFieldItem>;
1293
+ dateCreated?: string | null;
1253
1294
  /**
1254
1295
  * Specifies whenever product was imported
1255
1296
  */
1256
- imported?: boolean;
1297
+ imported?: boolean | null;
1257
1298
  /**
1258
1299
  * Import order (whenever product was imported)
1259
1300
  */
1260
- importOrder?: number;
1301
+ importOrder?: number | null;
1261
1302
  /**
1262
1303
  * Alternate Product id
1263
1304
  */
1264
- alternateProductId?: string;
1305
+ alternateProductId?: string | null;
1265
1306
  /**
1266
1307
  * Product domain
1267
1308
  */
1268
- productIdDomain?: string;
1309
+ productIdDomain?: string | null;
1269
1310
  /**
1270
1311
  * Identifies whether product is spare part.
1271
1312
  */
@@ -1274,7 +1315,7 @@ declare type CatalogProductItem = {
1274
1315
  * Exact Match is true when search text matches any of product identifiers.
1275
1316
  */
1276
1317
  exactMatch: boolean;
1277
- classifications?: ProductItemClassifications;
1318
+ classifications?: ProductItemClassifications | null;
1278
1319
  /**
1279
1320
  * Product identifier.
1280
1321
  */
@@ -1287,6 +1328,20 @@ declare type CatalogProductItem = {
1287
1328
  };
1288
1329
  };
1289
1330
 
1331
+ /**
1332
+ * Controls optional data and attributes returned for each product.
1333
+ */
1334
+ declare type CatalogProductItemSettings = {
1335
+ /**
1336
+ * Attribute codes to return for each product. Supports wildcard patterns.
1337
+ */
1338
+ attributeCodes?: Array<string> | null;
1339
+ /**
1340
+ * Maximum number of images to return for each product. When omitted or null, no images are returned.
1341
+ */
1342
+ maxProductImages?: number | null;
1343
+ };
1344
+
1290
1345
  /**
1291
1346
  * Catalog product search data types enumeration
1292
1347
  *
@@ -1309,11 +1364,11 @@ declare enum CatalogProductSearchDataTypeEnum {
1309
1364
  * Search result
1310
1365
  */
1311
1366
  declare type CatalogProductSearchResult = {
1312
- productClassifications?: ClassificationsSearchResult;
1313
- partClassifications?: ClassificationsSearchResult;
1314
- products?: CatalogProductsSearchResult;
1315
- filters?: FilterSearchResult;
1316
- breadcrumbs?: BreadcrumbsSearchResult;
1367
+ productClassifications?: ClassificationsSearchResult | null;
1368
+ partClassifications?: ClassificationsSearchResult | null;
1369
+ products?: CatalogProductsSearchResult | null;
1370
+ filters?: FilterSearchResult | null;
1371
+ breadcrumbs?: BreadcrumbsSearchResult | null;
1317
1372
  };
1318
1373
 
1319
1374
  /**
@@ -1375,7 +1430,7 @@ export declare interface CatalogProductsSearchOptions {
1375
1430
  /** Breadcrumbs component options. */
1376
1431
  breadcrumbs?: BaseComponentOptions;
1377
1432
  /** Selection options. */
1378
- selection?: SelectionOptions;
1433
+ selection?: SelectionOptions<CatalogsProductsSearchSelectionActionsContext>;
1379
1434
  /** Table sub-view options. */
1380
1435
  table?: CatalogItemsTableOptions;
1381
1436
  /** List sub-view options. */
@@ -1394,7 +1449,7 @@ export declare interface CatalogProductsSearchOptions {
1394
1449
  * Products search result
1395
1450
  */
1396
1451
  declare type CatalogProductsSearchResult = {
1397
- items?: Array<CatalogProductItem>;
1452
+ items?: Array<CatalogProductItem> | null;
1398
1453
  totalCount: number;
1399
1454
  };
1400
1455
 
@@ -1462,7 +1517,10 @@ export declare interface CatalogProductsSearchTemplateMap {
1462
1517
  export declare interface CatalogProductSwitchOptions {
1463
1518
  /** Views offered by the catalog/product/alias switch. */
1464
1519
  views?: CatalogProductSwitchView[];
1465
- /** View selected initially. */
1520
+ /**
1521
+ * View selected when the instance initializes without a route `view`. Ignored when
1522
+ * it is not one of `views` or when `init()` receives an explicit route view.
1523
+ */
1466
1524
  defaultView?: CatalogProductSwitchView;
1467
1525
  }
1468
1526
 
@@ -1494,15 +1552,15 @@ declare type CatalogProductUpdateItem = {
1494
1552
  /**
1495
1553
  * Description
1496
1554
  */
1497
- description?: string;
1555
+ description?: string | null;
1498
1556
  /**
1499
1557
  * Customer classification
1500
1558
  */
1501
- customerClassification?: string;
1559
+ customerClassification?: string | null;
1502
1560
  /**
1503
1561
  * Base product id
1504
1562
  */
1505
- baseProductId?: string;
1563
+ baseProductId?: string | null;
1506
1564
  /**
1507
1565
  * Quantity
1508
1566
  */
@@ -1514,15 +1572,15 @@ declare type CatalogProductUpdateItem = {
1514
1572
  /**
1515
1573
  * Store additional information used by front end application
1516
1574
  */
1517
- store?: string;
1575
+ store?: string | null;
1518
1576
  /**
1519
1577
  * Custom fields to store additional information in key value pair format used by front end application
1520
1578
  */
1521
- customFields?: Array<CustomFieldItem>;
1579
+ customFields?: Array<CustomFieldItem> | null;
1522
1580
  /**
1523
1581
  * Alternate Product id
1524
1582
  */
1525
- alternateProductId?: string;
1583
+ alternateProductId?: string | null;
1526
1584
  };
1527
1585
 
1528
1586
  /** Every command name the catalogs domain can dispatch. */
@@ -1920,14 +1978,8 @@ export declare interface CatalogSearchFormOptions extends BaseComponentOptions {
1920
1978
  }
1921
1979
 
1922
1980
  export declare interface CatalogSearchOptions {
1923
- /**
1924
- * Additional attribute codes returned in search
1925
- */
1926
- attributeCodes?: string[];
1927
- /**
1928
- * Max product images to fetch.
1929
- */
1930
- maxProductImages?: number;
1981
+ /** Controls attributes and images returned for each catalog product. */
1982
+ productItemSettings?: CatalogProductItemSettings;
1931
1983
  }
1932
1984
 
1933
1985
  export declare interface CatalogSearchOptionsRoot {
@@ -1952,7 +2004,7 @@ declare type CatalogSearchResult = {
1952
2004
  /**
1953
2005
  * Catalogs belonging to the requested page. Null or empty when no catalog matches the criteria.
1954
2006
  */
1955
- items?: Array<CatalogItem>;
2007
+ items?: Array<CatalogItem> | null;
1956
2008
  /**
1957
2009
  * Total number of catalogs matching the criteria, regardless of paging. Use it to calculate the number of pages.
1958
2010
  */
@@ -2409,9 +2461,9 @@ export declare type CatalogsViewType = 'catalogs' | 'products' | 'aliases';
2409
2461
  * extension namespace — the only place `dataInterceptor` code may add fields.
2410
2462
  */
2411
2463
  declare type CatalogsWithCustomDataItems<TResult> = TResult extends {
2412
- items?: (infer TItem)[];
2464
+ items?: (infer TItem)[] | null;
2413
2465
  } ? Omit<TResult, 'items'> & {
2414
- items?: (TItem & TemplateItem)[];
2466
+ items?: (TItem & TemplateItem)[] | Extract<TResult['items'], null>;
2415
2467
  } : TResult;
2416
2468
 
2417
2469
  /**
@@ -2447,7 +2499,7 @@ export declare interface CatalogTableColumn {
2447
2499
  }
2448
2500
 
2449
2501
  /**
2450
- * Catalog type global filter. To select All catalog types ignore property or set NULL.
2502
+ * Catalog type global filter. To select all catalog types, omit the property or set it to null.
2451
2503
  *
2452
2504
  * Values:
2453
2505
  * - `Company` — Catalog shared by the whole company and visible to all of its users.
@@ -2475,7 +2527,7 @@ declare interface CategoryGroup {
2475
2527
  hitCount: number;
2476
2528
  nested: boolean;
2477
2529
  items?: CategoryGroup[];
2478
- breadcrumb?: BreadcrumbItem[];
2530
+ breadcrumb?: BreadcrumbItem[] | null;
2479
2531
  }
2480
2532
 
2481
2533
  /**
@@ -2530,13 +2582,13 @@ declare enum ClassificationAdditionalInfoTypeEnum {
2530
2582
 
2531
2583
  declare interface ClassificationFavorites {
2532
2584
  /**
2533
- * Array of selected items.
2585
+ * Array of favorite items (current favorites, not the selection).
2534
2586
  */
2535
2587
  selectedItems: {
2536
2588
  cid: string;
2537
2589
  }[];
2538
2590
  /**
2539
- * Selected items count.
2591
+ * Favorite items count.
2540
2592
  */
2541
2593
  count: number;
2542
2594
  /**
@@ -2577,9 +2629,8 @@ declare interface ClassificationFavorites {
2577
2629
 
2578
2630
  export declare interface ClassificationFavoritesOptions extends BaseComponentOptions {
2579
2631
  /**
2580
- * Initial favorite nodes.
2581
- * When value is an array of string with CIDs passed, the selection is shared across Offering and ProductLine trees.
2582
- * When value is an array of object, favorites are scoped to trees.
2632
+ * Not read by the runtime. Set initial favorites with the top-level `favoriteNodes` option instead:
2633
+ * a node with `type` is scoped to that tree, a node without `type` matches every configured Offering and ProductLine tab.
2583
2634
  */
2584
2635
  favoriteItems?: {
2585
2636
  cid: string;
@@ -2594,7 +2645,7 @@ declare type ClassificationItem = {
2594
2645
  /**
2595
2646
  * Children classifications
2596
2647
  */
2597
- children?: Array<ClassificationItem>;
2648
+ children?: Array<ClassificationItem> | null;
2598
2649
  /**
2599
2650
  * Products count
2600
2651
  */
@@ -2610,7 +2661,7 @@ declare type ClassificationItem = {
2610
2661
  /**
2611
2662
  * Classification images.
2612
2663
  */
2613
- images?: Array<PisImage>;
2664
+ images?: Array<PisImage> | null;
2614
2665
  /**
2615
2666
  * Gets the classification unique identifier for the classification node.
2616
2667
  */
@@ -2622,15 +2673,15 @@ declare type ClassificationItem = {
2622
2673
  /**
2623
2674
  * Gets the level of the classification node within the hierarchy.
2624
2675
  */
2625
- nodeLevel?: string;
2676
+ nodeLevel?: string | null;
2626
2677
  /**
2627
2678
  * Gets the usage type of the classification node.
2628
2679
  */
2629
- nodeUse?: string;
2680
+ nodeUse?: string | null;
2630
2681
  /**
2631
2682
  * Classification additional info. List of
2632
2683
  */
2633
- additionalInfo?: Array<ClassificationAdditionalInfo>;
2684
+ additionalInfo?: Array<ClassificationAdditionalInfo> | null;
2634
2685
  };
2635
2686
 
2636
2687
  /**
@@ -2648,15 +2699,15 @@ declare type ClassificationNode = {
2648
2699
  /**
2649
2700
  * Gets the level of the classification node within the hierarchy.
2650
2701
  */
2651
- nodeLevel?: string;
2702
+ nodeLevel?: string | null;
2652
2703
  /**
2653
2704
  * Gets the usage type of the classification node.
2654
2705
  */
2655
- nodeUse?: string;
2706
+ nodeUse?: string | null;
2656
2707
  /**
2657
2708
  * Classification additional info. List of
2658
2709
  */
2659
- additionalInfo?: Array<ClassificationAdditionalInfo>;
2710
+ additionalInfo?: Array<ClassificationAdditionalInfo> | null;
2660
2711
  };
2661
2712
 
2662
2713
  /**
@@ -2666,7 +2717,7 @@ declare type ClassificationNodesSearchResult = {
2666
2717
  /**
2667
2718
  * Collection of classification nodes matching the query criteria.
2668
2719
  */
2669
- items?: Array<ClassificationNode>;
2720
+ items?: Array<ClassificationNode> | null;
2670
2721
  };
2671
2722
 
2672
2723
  /** Every command name the classifications domain can dispatch. */
@@ -2696,11 +2747,10 @@ export declare interface ClassificationsAccessor {
2696
2747
  * Application context of the request, identifying the calling application and language. Required.
2697
2748
  */
2698
2749
  declare type ClassificationsBrowserAppSettings = {
2699
- client?: ClientInfo;
2700
2750
  /**
2701
2751
  * Country code. The Country Market Availability and Country Market Availability Type attribute values associated with a product instance determine the countries where a product will be seen. Filters the results to only the product instances available for the designated Country
2702
2752
  */
2703
- countryCode?: string;
2753
+ countryCode?: string | null;
2704
2754
  /**
2705
2755
  * Application code identifying the front-end application. Products are filtered by their Publishers attribute to match this code. Required.
2706
2756
  */
@@ -2708,24 +2758,24 @@ declare type ClassificationsBrowserAppSettings = {
2708
2758
  /**
2709
2759
  * ISO language code for translations of labels, attribute names, and values. Defaults to "en" (English).
2710
2760
  */
2711
- langCode?: string;
2712
- filters?: ClassificationsBrowserFilters;
2761
+ langCode?: string | null;
2762
+ filters?: ClassificationsBrowserFilters | null;
2713
2763
  /**
2714
2764
  * Product Line Period. Allows the user to select the product line period of the Product Line Tree that will be displayed in the Product Line Tree link.
2715
2765
  */
2716
- productLinePeriod?: string;
2766
+ productLinePeriod?: string | null;
2717
2767
  };
2718
2768
 
2719
2769
  /**
2720
2770
  * Classifications browser filters
2721
2771
  */
2722
2772
  declare type ClassificationsBrowserFilters = {
2723
- applicationUse?: ApplicationUseSettings;
2773
+ applicationUse?: ApplicationUseSettings | null;
2724
2774
  /**
2725
2775
  * List of Life Cycle Phase. As a default, the Classifications Browser view shows only nodes with a Life Cycle Phase of Active and Restricted.
2726
2776
  */
2727
- lifeCyclePhases?: Array<string>;
2728
- countryMarketAvailability?: CountryMarketAvailabilitySettings;
2777
+ lifeCyclePhases?: Array<string> | null;
2778
+ countryMarketAvailability?: CountryMarketAvailabilitySettings | null;
2729
2779
  lifeCyclePhaseMode?: LifeCyclePhaseModeEnum;
2730
2780
  };
2731
2781
 
@@ -2744,11 +2794,11 @@ declare type ClassificationsBrowserNode = {
2744
2794
  /**
2745
2795
  * English name of the classification node (used as fallback or for reference).
2746
2796
  */
2747
- enName?: string;
2797
+ enName?: string | null;
2748
2798
  /**
2749
2799
  * Child nodes of this classification in the tree hierarchy.
2750
2800
  */
2751
- children?: Array<ClassificationsBrowserNode>;
2801
+ children?: Array<ClassificationsBrowserNode> | null;
2752
2802
  /**
2753
2803
  * Indicates whether the search text exactly matches this node's name.
2754
2804
  */
@@ -2763,7 +2813,7 @@ declare type ClassificationsBrowserNode = {
2763
2813
  */
2764
2814
  selectable: boolean;
2765
2815
  productGroup: ProductGroup;
2766
- reference?: ClassificationsBrowserNodeReference;
2816
+ reference?: ClassificationsBrowserNodeReference | null;
2767
2817
  };
2768
2818
 
2769
2819
  /**
@@ -2773,19 +2823,19 @@ declare type ClassificationsBrowserNodeReference = {
2773
2823
  /**
2774
2824
  * Tree CID from Original CID
2775
2825
  */
2776
- classificationCode?: string;
2826
+ classificationCode?: string | null;
2777
2827
  /**
2778
2828
  * Original CID
2779
2829
  */
2780
- cid?: string;
2830
+ cid?: string | null;
2781
2831
  /**
2782
2832
  * CID from parent node
2783
2833
  */
2784
- refCid?: string;
2834
+ refCid?: string | null;
2785
2835
  /**
2786
2836
  * Path to CID
2787
2837
  */
2788
- refPath?: string;
2838
+ refPath?: string | null;
2789
2839
  };
2790
2840
 
2791
2841
  /**
@@ -2796,7 +2846,7 @@ declare type ClassificationsBrowserPathNode = {
2796
2846
  * CID of the classification
2797
2847
  */
2798
2848
  cid: string;
2799
- tree?: ClassificationsBrowserTreeTypeEnum;
2849
+ tree?: ClassificationsBrowserTreeTypeEnum | null;
2800
2850
  };
2801
2851
 
2802
2852
  /**
@@ -2806,19 +2856,19 @@ declare type ClassificationsBrowserSearchResult = {
2806
2856
  /**
2807
2857
  * Collection of classification nodes matching the search criteria.
2808
2858
  */
2809
- items?: Array<ClassificationsBrowserNode>;
2859
+ items?: Array<ClassificationsBrowserNode> | null;
2810
2860
  /**
2811
2861
  * Collection of currently selected classification nodes for reference.
2812
2862
  */
2813
- selectedItems?: Array<ClassificationsBrowserNode>;
2863
+ selectedItems?: Array<ClassificationsBrowserNode> | null;
2814
2864
  /**
2815
2865
  * Indicates whether the search results exceeded the configured limit and were truncated.
2816
2866
  */
2817
- limitExceeded?: boolean;
2867
+ limitExceeded?: boolean | null;
2818
2868
  /**
2819
2869
  * Maximum number of results that can be returned. Results are truncated when this limit is exceeded.
2820
2870
  */
2821
- limit?: number;
2871
+ limit?: number | null;
2822
2872
  };
2823
2873
 
2824
2874
  export declare type ClassificationsBrowserTabsIconContext = TreeTypeTabTemplateProps<ClassificationsInstance>;
@@ -2956,23 +3006,11 @@ export declare interface ClassificationSearchFormOptions extends BaseComponentOp
2956
3006
  useAutocomplete: boolean;
2957
3007
  }
2958
3008
 
3009
+ /**
3010
+ * Tab visibility is configured per tab with `components.browser.tabs.items[].visible`;
3011
+ * Apply/Cancel visibility with `components.browser.actions`.
3012
+ */
2959
3013
  export declare interface ClassificationSearchToolbarOptions extends BaseComponentOptions {
2960
- /**
2961
- * Shows product line tree tab
2962
- */
2963
- productLineTreeVisible?: boolean;
2964
- /**
2965
- * Shows favorites tab
2966
- */
2967
- favoritesVisible?: boolean;
2968
- /**
2969
- * Shows cancel button
2970
- */
2971
- cancelVisible?: boolean;
2972
- /**
2973
- * Shows apply button
2974
- */
2975
- applyVisible?: boolean;
2976
3014
  /**
2977
3015
  * Shows expand favorites link
2978
3016
  */
@@ -3028,9 +3066,8 @@ declare interface ClassificationSelection {
3028
3066
 
3029
3067
  export declare interface ClassificationSelectionOptions extends BaseComponentOptions {
3030
3068
  /**
3031
- * Initial selected nodes.
3032
- * When value is an array of string with CIDs passed, the selection is shared across Offering and ProductLine trees.
3033
- * When value is an array of object, favorites are scoped to trees.
3069
+ * Not read by the runtime. Set the initial selection with the top-level `selectedNodes` option instead:
3070
+ * a node with `type` is scoped to that tree, a node without `type` matches every configured Offering and ProductLine tab.
3034
3071
  */
3035
3072
  selectedItems?: {
3036
3073
  cid: string;
@@ -3243,11 +3280,11 @@ declare type ClassificationsSearchResult = {
3243
3280
  /**
3244
3281
  * Additional metadata for the requested classification node (e.g., description, image).
3245
3282
  */
3246
- additionalInfo?: Array<ClassificationAdditionalInfo>;
3283
+ additionalInfo?: Array<ClassificationAdditionalInfo> | null;
3247
3284
  /**
3248
3285
  * Collection of classification tree items (child nodes of the requested CID or root).
3249
3286
  */
3250
- items?: Array<ClassificationItem>;
3287
+ items?: Array<ClassificationItem> | null;
3251
3288
  };
3252
3289
 
3253
3290
  /** A selected classification node, as carried by selection and favorites events. */
@@ -3278,9 +3315,9 @@ declare interface ClassificationsValidatedEvent {
3278
3315
  * extension namespace — the only place `dataInterceptor` code may add fields.
3279
3316
  */
3280
3317
  declare type ClassificationsWithCustomDataItems<TResult> = TResult extends {
3281
- items?: (infer TItem)[];
3318
+ items?: (infer TItem)[] | null;
3282
3319
  } ? Omit<TResult, 'items'> & {
3283
- items?: (TItem & TemplateItem)[];
3320
+ items?: (TItem & TemplateItem)[] | Extract<TResult['items'], null>;
3284
3321
  } : TResult;
3285
3322
 
3286
3323
  /** Configuration of a single classification tree-type tab. */
@@ -3327,20 +3364,6 @@ export declare interface ClassificationTreeTypeTabsOptions extends BaseComponent
3327
3364
  items?: ClassificationTabOption[];
3328
3365
  }
3329
3366
 
3330
- /**
3331
- * Client info
3332
- */
3333
- declare type ClientInfo = {
3334
- /**
3335
- * End client IP address.
3336
- */
3337
- ipAddress?: string;
3338
- /**
3339
- * End-client user agent string (browser identifier).
3340
- */
3341
- userAgent?: string;
3342
- };
3343
-
3344
3367
  /**
3345
3368
  * A command executed by the instance, as passed to the `commandInterceptor`.
3346
3369
  */
@@ -3385,11 +3408,11 @@ declare type CompareClassificationItem = {
3385
3408
  /**
3386
3409
  * Full breadcrumb path from root to this classification node.
3387
3410
  */
3388
- breadcrumb?: Array<BreadcrumbItem>;
3411
+ breadcrumb?: Array<BreadcrumbItem> | null;
3389
3412
  /**
3390
3413
  * Children classifications
3391
3414
  */
3392
- children?: Array<ClassificationItem>;
3415
+ children?: Array<ClassificationItem> | null;
3393
3416
  /**
3394
3417
  * Products count
3395
3418
  */
@@ -3405,7 +3428,7 @@ declare type CompareClassificationItem = {
3405
3428
  /**
3406
3429
  * Classification images.
3407
3430
  */
3408
- images?: Array<PisImage>;
3431
+ images?: Array<PisImage> | null;
3409
3432
  /**
3410
3433
  * Gets the classification unique identifier for the classification node.
3411
3434
  */
@@ -3417,15 +3440,15 @@ declare type CompareClassificationItem = {
3417
3440
  /**
3418
3441
  * Gets the level of the classification node within the hierarchy.
3419
3442
  */
3420
- nodeLevel?: string;
3443
+ nodeLevel?: string | null;
3421
3444
  /**
3422
3445
  * Gets the usage type of the classification node.
3423
3446
  */
3424
- nodeUse?: string;
3447
+ nodeUse?: string | null;
3425
3448
  /**
3426
3449
  * Classification additional info. List of
3427
3450
  */
3428
- additionalInfo?: Array<ClassificationAdditionalInfo>;
3451
+ additionalInfo?: Array<ClassificationAdditionalInfo> | null;
3429
3452
  };
3430
3453
 
3431
3454
  /** Compare header — unique `selectedCid` + `categories`. */
@@ -3443,11 +3466,8 @@ export declare interface CompareHeaderTemplateProps<TCategory = TemplateItem, TI
3443
3466
  }
3444
3467
 
3445
3468
  export declare interface CompareOptions extends BaseComponentOptions {
3446
- /**
3447
- * Optional, list of attribute codes to include in item data
3448
- * (not affecting attribute groups, can be used in item templates, replaces default item attributes)
3449
- */
3450
- attributeCodes?: string[];
3469
+ /** Controls optional data and attributes returned for each compared product. */
3470
+ productItemSettings?: ProductItemSettings;
3451
3471
  /**
3452
3472
  * v7: view title/header callbacks, shown in the first fixed column.
3453
3473
  * Replaces the v6 `headerTemplate` string template. ctx =
@@ -3519,21 +3539,17 @@ export declare interface CompareOptions extends BaseComponentOptions {
3519
3539
  * If true, print button is visible (print command must be handled by application)
3520
3540
  */
3521
3541
  printButtonVisible?: boolean;
3522
- /**
3523
- * Max product images to fetch.
3524
- */
3525
- maxProductImages?: number;
3526
3542
  }
3527
3543
 
3528
3544
  /**
3529
3545
  * A single product in the comparison result, with its summary data and aligned attribute groups.
3530
3546
  */
3531
3547
  declare type CompareProductDetail = {
3532
- item?: ProductItem;
3548
+ item?: ProductItem | null;
3533
3549
  /**
3534
3550
  * Attribute groups with values for this product, aligned with the comparison matrix.
3535
3551
  */
3536
- attributeGroups?: Array<AttributeGroup>;
3552
+ attributeGroups?: Array<AttributeGroup> | null;
3537
3553
  };
3538
3554
 
3539
3555
  /**
@@ -3543,11 +3559,11 @@ declare type CompareResult = {
3543
3559
  /**
3544
3560
  * Classification nodes shared by the compared products, including breadcrumb paths.
3545
3561
  */
3546
- classifications?: Array<CompareClassificationItem>;
3562
+ classifications?: Array<CompareClassificationItem> | null;
3547
3563
  /**
3548
3564
  * Compared product details with their aligned attribute groups.
3549
3565
  */
3550
- items?: Array<CompareProductDetail>;
3566
+ items?: Array<CompareProductDetail> | null;
3551
3567
  };
3552
3568
 
3553
3569
  /** `CompareOptions` (products compare + compare-table-data). */
@@ -3625,7 +3641,7 @@ declare type ConfiguratorItemSearchResult = {
3625
3641
  /**
3626
3642
  * Configurator entries with their classification hit counts.
3627
3643
  */
3628
- items?: Array<ConfiguratorItem>;
3644
+ items?: Array<ConfiguratorItem> | null;
3629
3645
  };
3630
3646
 
3631
3647
  export declare interface ConfiguratorOptions extends BaseComponentOptions {
@@ -3742,7 +3758,7 @@ declare type CountryMarketAvailabilitySettings = {
3742
3758
  /**
3743
3759
  * Disable country market availability check. When set to true the default logic for Country Market Availability and Country Market Availability Type user fields is ignored.
3744
3760
  */
3745
- disable?: boolean;
3761
+ disable?: boolean | null;
3746
3762
  };
3747
3763
 
3748
3764
  /**
@@ -3797,7 +3813,7 @@ export declare type CriterionValue = {
3797
3813
  /**
3798
3814
  * Multidimensional value header
3799
3815
  */
3800
- h?: string;
3816
+ h?: string | null;
3801
3817
  /**
3802
3818
  * Value to match. For attribute codes, provide attribute value (wildcards supported: "Value*", "*Value", "*Value*"). For "CID", provide classification node identifiers.
3803
3819
  */
@@ -3805,7 +3821,7 @@ export declare type CriterionValue = {
3805
3821
  /**
3806
3822
  * Multidimensional unit of measure (UOM)
3807
3823
  */
3808
- u?: string;
3824
+ u?: string | null;
3809
3825
  };
3810
3826
 
3811
3827
  /**
@@ -3833,15 +3849,15 @@ declare type CustomerSpecificData = {
3833
3849
  /**
3834
3850
  * Customer system id
3835
3851
  */
3836
- systemId?: string;
3852
+ systemId?: string | null;
3837
3853
  /**
3838
3854
  * Customer sales unit
3839
3855
  */
3840
- salesUnit?: string;
3856
+ salesUnit?: string | null;
3841
3857
  /**
3842
3858
  * Customer id
3843
3859
  */
3844
- customerId?: string;
3860
+ customerId?: string | null;
3845
3861
  /**
3846
3862
  * Restricted. Indicates whether the product is restricted for the specific customer.
3847
3863
  */
@@ -3939,6 +3955,8 @@ export declare interface DetailsComponentOptions {
3939
3955
  }
3940
3956
 
3941
3957
  export declare interface DetailsDataOptions extends Omit<DetailsOptions, 'actionTemplate'> {
3958
+ /** Controls optional data and attributes returned for the main detail product. */
3959
+ productItemSettings?: ProductItemSettings;
3942
3960
  /** Downloads section options. */
3943
3961
  downloads?: DownloadsOptions;
3944
3962
  }
@@ -3984,11 +4002,7 @@ export declare interface DetailsHeaderOptions extends BaseComponentOptions {
3984
4002
 
3985
4003
  export declare interface DetailsOptions {
3986
4004
  /** Variant behavior for product detail requests. */
3987
- variants?: VariantSettings;
3988
- /**
3989
- * Additional attribute codes to load
3990
- */
3991
- attributeCodes?: string[];
4005
+ variants?: DetailsVariantOptions;
3992
4006
  /**
3993
4007
  * v7: detail view action callbacks. Replaces the v6 `actionTemplate` string
3994
4008
  * template. ctx = { instance, item, emit, t }.
@@ -4016,17 +4030,13 @@ export declare interface DetailsOptions {
4016
4030
  * Product relationships (PRM) options
4017
4031
  */
4018
4032
  relationships?: DetailsRelationshipOptions;
4019
- /**
4020
- * Max product images to fetch.
4021
- */
4022
- maxProductImages?: number;
4023
4033
  }
4024
4034
 
4025
4035
  export declare interface DetailsRelationshipOptions {
4026
4036
  /** Applies application-level product filtering to related products. */
4027
4037
  productRelationshipFiltering?: boolean;
4028
- /** Additional attribute codes returned for related products. */
4029
- attributeCodes?: string[];
4038
+ /** Controls optional data and attributes returned for each related product. */
4039
+ productItemSettings?: ProductItemSettings;
4030
4040
  /**
4031
4041
  * Number of relationship items displayed in one page
4032
4042
  */
@@ -4087,6 +4097,11 @@ export declare interface DetailsRelationshipOptions {
4087
4097
  };
4088
4098
  }
4089
4099
 
4100
+ declare interface DetailsVariantOptions extends VariantSettings {
4101
+ /** Controls optional data and attributes returned for each variant product. */
4102
+ productItemSettings?: ProductItemSettings;
4103
+ }
4104
+
4090
4105
  export declare interface DetailsVariantsDropdownOptions extends BaseComponentOptions {
4091
4106
  /** Show product images in dropdown */
4092
4107
  showImages?: boolean;
@@ -4141,7 +4156,7 @@ declare type EomAttribute = {
4141
4156
  /**
4142
4157
  * List of values
4143
4158
  */
4144
- values?: Array<EomAttributeValue>;
4159
+ values?: Array<EomAttributeValue> | null;
4145
4160
  };
4146
4161
 
4147
4162
  /**
@@ -4151,17 +4166,17 @@ declare type EomAttributeValue = {
4151
4166
  /**
4152
4167
  * Value
4153
4168
  */
4154
- value?: string;
4169
+ value?: string | null;
4155
4170
  /**
4156
4171
  * Label
4157
4172
  */
4158
- label?: string;
4173
+ label?: string | null;
4159
4174
  /**
4160
4175
  * Translations Dictionary < LanguageCode, Value >
4161
4176
  */
4162
4177
  translations?: {
4163
4178
  [key: string]: string;
4164
- };
4179
+ } | null;
4165
4180
  };
4166
4181
 
4167
4182
  /**
@@ -4187,7 +4202,7 @@ declare type EomObject = {
4187
4202
  /**
4188
4203
  * List of attributes
4189
4204
  */
4190
- attributes?: Array<EomAttribute>;
4205
+ attributes?: Array<EomAttribute> | null;
4191
4206
  };
4192
4207
 
4193
4208
  /**
@@ -4197,7 +4212,7 @@ declare type EomSearchResult = {
4197
4212
  /**
4198
4213
  * List of items
4199
4214
  */
4200
- items?: Array<EomObject>;
4215
+ items?: Array<EomObject> | null;
4201
4216
  };
4202
4217
 
4203
4218
  /**
@@ -4207,11 +4222,11 @@ declare type ExplicitProductFilter = {
4207
4222
  /**
4208
4223
  * Product identifiers matched against any identifier indexed for a product, including its global ID, commercial aliases, extended product type, EAN, ABB type, alternative product reference, and product ID. A product may match any value in this list; it must still satisfy all other applicable filters. A null or empty list does not restrict results.
4209
4224
  */
4210
- productIdentifiers?: Array<string>;
4225
+ productIdentifiers?: Array<string> | null;
4211
4226
  /**
4212
4227
  * When true and contains values, matching products are prioritized according to the identifiers' order. This ordering takes precedence over the regular sort field and direction supplied by search methods. When false or null, the regular sort options remain in effect.
4213
4228
  */
4214
- sortByProductIdentifiers?: boolean;
4229
+ sortByProductIdentifiers?: boolean | null;
4215
4230
  };
4216
4231
 
4217
4232
  export declare interface ExportMenuItem {
@@ -4258,12 +4273,12 @@ declare type FavoriteView = {
4258
4273
  /**
4259
4274
  * Unique identifier of the favorite view.
4260
4275
  */
4261
- id?: string;
4276
+ id?: string | null;
4262
4277
  /**
4263
4278
  * User-defined code or name for the favorite view.
4264
4279
  */
4265
- code?: string;
4266
- data?: FavoriteViewData;
4280
+ code?: string | null;
4281
+ data?: FavoriteViewData | null;
4267
4282
  };
4268
4283
 
4269
4284
  /**
@@ -4272,7 +4287,7 @@ declare type FavoriteView = {
4272
4287
  declare type FavoriteViewData = {
4273
4288
  treeType: CategoryTreeTypeEnum;
4274
4289
  pager: PagerSettings;
4275
- search: SearchSettings;
4290
+ search: ProductsSearchSettings;
4276
4291
  sort: SortSettings;
4277
4292
  };
4278
4293
 
@@ -4300,7 +4315,7 @@ declare type FavoriteViewsSearchResult = {
4300
4315
  /**
4301
4316
  * Collection of favorite views matching the requested identifiers.
4302
4317
  */
4303
- items?: Array<FavoriteView>;
4318
+ items?: Array<FavoriteView> | null;
4304
4319
  };
4305
4320
 
4306
4321
  /**
@@ -4340,7 +4355,7 @@ declare type FilterSearchResult = {
4340
4355
  /**
4341
4356
  * Filter metadata items. Values are retrieved separately from a FilterValues endpoint.
4342
4357
  */
4343
- items?: Array<FilterItem>;
4358
+ items?: Array<FilterItem> | null;
4344
4359
  /**
4345
4360
  * Total number of available filters before optional response limiting.
4346
4361
  */
@@ -4665,7 +4680,7 @@ declare enum JobSortFieldEnum {
4665
4680
  }
4666
4681
 
4667
4682
  /**
4668
- * Ordering applied to the returned jobs. When omitted, the service default ordering is used.
4683
+ * Ordering applied to the returned jobs.
4669
4684
  */
4670
4685
  declare type JobSortSettings = {
4671
4686
  field: JobSortFieldEnum;
@@ -4845,19 +4860,19 @@ declare type Link = {
4845
4860
  /**
4846
4861
  * Product id This value exists only for the Link equals Detail
4847
4862
  */
4848
- productId?: string;
4863
+ productId?: string | null;
4849
4864
  /**
4850
4865
  * Search text This value exists only for the Link equals Search
4851
4866
  */
4852
- searchText?: string;
4867
+ searchText?: string | null;
4853
4868
  /**
4854
4869
  * Cid This value exists only for the Link equals Classification
4855
4870
  */
4856
- cid?: string;
4871
+ cid?: string | null;
4857
4872
  /**
4858
4873
  * Document id This value exists only for the Link equals Document
4859
4874
  */
4860
- documentId?: string;
4875
+ documentId?: string | null;
4861
4876
  type: LinkTypeEnum;
4862
4877
  };
4863
4878
 
@@ -4881,6 +4896,21 @@ declare enum LinkTypeEnum {
4881
4896
  TECHNICAL_INFORMATION = "TechnicalInformation"
4882
4897
  }
4883
4898
 
4899
+ /**
4900
+ * Defines sorting behavior for a single product attribute, including sort direction or a custom value-based ordering.
4901
+ */
4902
+ declare type MapSettings = {
4903
+ /**
4904
+ * Attribute code to sort by. MultiDimensional and Translatable attribute types are not supported.
4905
+ */
4906
+ attributeCode: string;
4907
+ direction?: SortDirectionEnum | null;
4908
+ /**
4909
+ * Custom value order for sorting. Products are ranked by the position of their attribute value in this list. When null, alphabetical sorting using is applied instead.
4910
+ */
4911
+ values?: Array<string> | null;
4912
+ };
4913
+
4884
4914
  /**
4885
4915
  * Master product
4886
4916
  */
@@ -4906,7 +4936,7 @@ declare type MasterProductSearchResult = {
4906
4936
  /**
4907
4937
  * Master product items. May be null when exceeds the maximum allowed and results cannot be displayed.
4908
4938
  */
4909
- items?: Array<MasterProduct>;
4939
+ items?: Array<MasterProduct> | null;
4910
4940
  /**
4911
4941
  * Total number of master products matching the criteria. When this value exceeds the maximum threshold and Items is null, the result set is too large to display.
4912
4942
  */
@@ -5016,23 +5046,23 @@ declare type Owner = {
5016
5046
  /**
5017
5047
  * Unique identifier of the owner.
5018
5048
  */
5019
- id?: string;
5049
+ id?: string | null;
5020
5050
  /**
5021
5051
  * Identifier of the user owning the object. Populated for personal owners.
5022
5052
  */
5023
- userId?: string;
5053
+ userId?: string | null;
5024
5054
  /**
5025
5055
  * Identifier of the source system the owner originates from.
5026
5056
  */
5027
- systemId?: string;
5057
+ systemId?: string | null;
5028
5058
  /**
5029
5059
  * Identifier of the customer the owner represents. Populated for company owners.
5030
5060
  */
5031
- customerId?: string;
5061
+ customerId?: string | null;
5032
5062
  /**
5033
5063
  * Sales unit the owner is assigned to.
5034
5064
  */
5035
- salesUnit?: string;
5065
+ salesUnit?: string | null;
5036
5066
  type?: OwnerTypeEnum;
5037
5067
  };
5038
5068
 
@@ -5049,7 +5079,7 @@ declare enum OwnerTypeEnum {
5049
5079
  }
5050
5080
 
5051
5081
  /**
5052
- * Pager settings
5082
+ * Page number and page size. Defaults to the first page with the default page size when omitted.
5053
5083
  */
5054
5084
  declare type PagerSettings = {
5055
5085
  /**
@@ -5095,7 +5125,7 @@ declare type PartType = {
5095
5125
  /**
5096
5126
  * Part type name
5097
5127
  */
5098
- name?: string;
5128
+ name?: string | null;
5099
5129
  };
5100
5130
 
5101
5131
  /**
@@ -5125,7 +5155,7 @@ declare type PartTypesSearchResult = {
5125
5155
  /**
5126
5156
  * Part type entries with their display names and product counts.
5127
5157
  */
5128
- items?: Array<PartType>;
5158
+ items?: Array<PartType> | null;
5129
5159
  };
5130
5160
 
5131
5161
  export declare const PIS: Pis;
@@ -5559,7 +5589,7 @@ declare type PisImage = {
5559
5589
  /**
5560
5590
  * Specifies whenever served image is "no-image".
5561
5591
  */
5562
- noImage?: boolean;
5592
+ noImage?: boolean | null;
5563
5593
  };
5564
5594
 
5565
5595
  export declare interface PisInstance<TOptions extends BaseOptions = BaseOptions, TRouteData = Record<string, unknown>, TSelection = ProductSelection> extends BaseInstance {
@@ -5635,8 +5665,15 @@ export declare interface PisInstance<TOptions extends BaseOptions = BaseOptions,
5635
5665
  }
5636
5666
 
5637
5667
  declare interface PisNotification {
5668
+ /**
5669
+ * Auto-dismiss delay in milliseconds. When omitted, non-danger notifications
5670
+ * auto-dismiss after 6000 ms; danger notifications stay until closed. Pass 0
5671
+ * to keep a notification visible until it is closed.
5672
+ */
5638
5673
  dismissAfter?: number | undefined;
5674
+ /** Toast text; may carry safe formatting markup (sanitized at render). */
5639
5675
  message: string;
5676
+ /** Severity; controls styling and the auto-dismiss default. */
5640
5677
  type: NotificationType;
5641
5678
  }
5642
5679
 
@@ -6110,14 +6147,8 @@ export declare interface PreviewOptions extends BaseComponentOptions {
6110
6147
  * template. ctx = { instance, item, emit, t }.
6111
6148
  */
6112
6149
  imageOverlayTemplate?: MountPoint<ProductsPreviewViewImageOverlayContext>;
6113
- /**
6114
- * Attribute codes to show, replaces default preview attributes
6115
- */
6116
- attributeCodes?: string[];
6117
- /**
6118
- * Max product images to fetch.
6119
- */
6120
- maxProductImages?: number;
6150
+ /** Controls optional data and attributes returned for the preview product. */
6151
+ productItemSettings?: ProductItemSettings;
6121
6152
  }
6122
6153
 
6123
6154
  /** `PreviewOptions` (products + catalogs preview). */
@@ -6132,72 +6163,11 @@ declare interface PricingExportOptions {
6132
6163
  customerId?: string;
6133
6164
  }
6134
6165
 
6135
- /**
6136
- * Criteria identifying the source product, relationship, and filter attributes whose values are requested.
6137
- */
6138
- declare type PrmFilterSettings = {
6139
- /**
6140
- * Attribute codes for which available relationship filter values are returned. At most 100 codes are accepted.
6141
- */
6142
- attributeCodes: Array<string>;
6143
- /**
6144
- * Optional PRM relationship code to filter by a specific relationship definition.
6145
- */
6146
- relationshipCode?: string;
6147
- relationshipType: PrmRelationshipTypeEnum;
6148
- /**
6149
- * Free-text search applied to related products within the relationship.
6150
- */
6151
- searchText?: string;
6152
- filter?: CriteriaGroup;
6153
- /**
6154
- * Product id
6155
- */
6156
- productId: string;
6157
- };
6158
-
6159
6166
  declare interface PrmLoadArgs {
6160
- search: PrmSearchSettings;
6167
+ search: RelationshipSearchSettings;
6161
6168
  pager: PagerSettings;
6162
6169
  }
6163
6170
 
6164
- /**
6165
- * A single PRM relationship definition with its related product data, images, and filter facets.
6166
- */
6167
- declare type PrmRelationship = {
6168
- /**
6169
- * Unique code identifying this PRM relationship definition.
6170
- */
6171
- code: string;
6172
- /**
6173
- * Localized display name of the relationship.
6174
- */
6175
- description: string;
6176
- type: PrmRelationshipTypeEnum;
6177
- orgType?: PrmRelationshipOrgTypeEnum;
6178
- /**
6179
- * Organization code associated with this relationship, if applicable.
6180
- */
6181
- orgCode?: string;
6182
- /**
6183
- * PisImage identifiers for this relationship. Only populated for relationships.
6184
- */
6185
- images?: Array<string>;
6186
- /**
6187
- * Custom user-defined fields associated with this relationship.
6188
- */
6189
- userFields?: Array<UserField>;
6190
- /**
6191
- * Available filter facets for narrowing related products within this relationship.
6192
- */
6193
- filters?: Array<FilterItem>;
6194
- /**
6195
- * Relationship columns.
6196
- */
6197
- columns?: Array<TableColumn>;
6198
- products?: ProductSearchResult;
6199
- };
6200
-
6201
6171
  /**
6202
6172
  * PRM relationship identifier
6203
6173
  */
@@ -6213,89 +6183,7 @@ declare type PrmRelationshipIdentifier = {
6213
6183
  /**
6214
6184
  * Spare part secondary supplier from the relationship user field code 'SparePartSupplier'.
6215
6185
  */
6216
- sparePartSupplier?: string;
6217
- };
6218
-
6219
- /**
6220
- * Organization type that owns this relationship, if applicable.
6221
- *
6222
- * Values:
6223
- * - `Sps` — Spare part supplier
6224
- * - `Do` — Data owner
6225
- */
6226
- declare enum PrmRelationshipOrgTypeEnum {
6227
- SPS = "Sps",
6228
- DO = "Do"
6229
- }
6230
-
6231
- /**
6232
- * Relationship type (e.g. Accessories, Spare Parts).
6233
- *
6234
- * Values:
6235
- * - `All` — All
6236
- * - `Accessories` — Accessories
6237
- * - `AlternativeSell` — Alternative sell
6238
- * - `ConsistsOf` — Consists of
6239
- * - `CrossSell` — Cross sell
6240
- * - `DeviceTypeCode` — Device type code
6241
- * - `DeviceTypeList` — Device type list
6242
- * - `KitContents` — Kit contents
6243
- * - `SoftwareList` — Software list
6244
- * - `UpSell` — Up sell
6245
- * - `SparePartSelectionList` — Spare part selection list
6246
- * - `SparePartUsedOnList` — Spare part used on list
6247
- * - `SuperCodeBoM` — Super code bom
6248
- * - `WhereUsed` — Where used
6249
- * - `EnhancedSparePartFilters` — Enhanced spare part filters
6250
- * - `Variants` — Product variants
6251
- */
6252
- declare enum PrmRelationshipTypeEnum {
6253
- ALL = "All",
6254
- ACCESSORIES = "Accessories",
6255
- ALTERNATIVE_SELL = "AlternativeSell",
6256
- CONSISTS_OF = "ConsistsOf",
6257
- CROSS_SELL = "CrossSell",
6258
- DEVICE_TYPE_CODE = "DeviceTypeCode",
6259
- DEVICE_TYPE_LIST = "DeviceTypeList",
6260
- KIT_CONTENTS = "KitContents",
6261
- SOFTWARE_LIST = "SoftwareList",
6262
- UP_SELL = "UpSell",
6263
- SPARE_PART_SELECTION_LIST = "SparePartSelectionList",
6264
- SPARE_PART_USED_ON_LIST = "SparePartUsedOnList",
6265
- SUPER_CODE_BO_M = "SuperCodeBoM",
6266
- WHERE_USED = "WhereUsed",
6267
- ENHANCED_SPARE_PART_FILTERS = "EnhancedSparePartFilters",
6268
- VARIANTS = "Variants"
6269
- }
6270
-
6271
- /**
6272
- * Product relationships (replacements, accessories, spare parts). Populated when DataTypes includes ProductRelationships.
6273
- */
6274
- declare type PrmSearchResult = {
6275
- /**
6276
- * List of items
6277
- */
6278
- items?: Array<PrmRelationship>;
6279
- };
6280
-
6281
- /**
6282
- * Prm search settings
6283
- */
6284
- declare type PrmSearchSettings = {
6285
- /**
6286
- * Optional PRM relationship code to filter by a specific relationship definition.
6287
- */
6288
- relationshipCode?: string;
6289
- relationshipType: PrmRelationshipTypeEnum;
6290
- /**
6291
- * Free-text search applied to related products within the relationship.
6292
- */
6293
- searchText?: string;
6294
- filter?: CriteriaGroup;
6295
- /**
6296
- * Product id
6297
- */
6298
- productId: string;
6186
+ sparePartSupplier?: string | null;
6299
6187
  };
6300
6188
 
6301
6189
  /**
@@ -6306,7 +6194,7 @@ declare type ProductAdditionalInfo = {
6306
6194
  /**
6307
6195
  * Text
6308
6196
  */
6309
- text?: string;
6197
+ text?: string | null;
6310
6198
  };
6311
6199
 
6312
6200
  /**
@@ -6342,12 +6230,12 @@ declare type ProductAttribute = {
6342
6230
  /**
6343
6231
  * Attribute translated name
6344
6232
  */
6345
- attributeName?: string;
6233
+ attributeName?: string | null;
6346
6234
  /**
6347
6235
  * Attribute values Only for type
6348
6236
  */
6349
- values?: Array<AttributeValue>;
6350
- table?: Table;
6237
+ values?: Array<AttributeValue> | null;
6238
+ table?: Table | null;
6351
6239
  /**
6352
6240
  * Determines if ProductAttribute is internal
6353
6241
  */
@@ -6355,7 +6243,7 @@ declare type ProductAttribute = {
6355
6243
  /**
6356
6244
  * Tool tip
6357
6245
  */
6358
- tooltip?: string;
6246
+ tooltip?: string | null;
6359
6247
  /**
6360
6248
  * Highlight Indicates if the Product Attribute should be highlighted.
6361
6249
  */
@@ -6371,57 +6259,178 @@ declare type ProductClassificationsSearchResult = {
6371
6259
  */
6372
6260
  items?: {
6373
6261
  [key: string]: Array<Array<BreadcrumbItem>>;
6374
- };
6262
+ } | null;
6375
6263
  };
6376
6264
 
6377
6265
  /**
6378
6266
  * Composite response from the product Detail endpoint. Contains the data sections requested via DataTypes.
6379
6267
  */
6380
6268
  declare type ProductDetail = {
6381
- productDetails?: ProductDetailSearchResult;
6382
- attributeGroups?: AttributeGroupSearchResult;
6383
- productClassifications?: ProductClassificationsSearchResult;
6384
- productRelationships?: PrmSearchResult;
6385
- relatedLinks?: RelatedLinksSearchResult;
6386
- relatedProducts?: RelatedProductsSearchResult;
6387
- productVariantsSelector?: ProductVariantsSelectorSearchResult;
6388
- productVariantsTable?: ProductVariantsTableSearchResult;
6389
- productVariantsDropdown?: ProductVariantsDropdownSearchResult;
6390
- extendedObjectData?: EomSearchResult;
6391
- breadcrumbs?: BreadcrumbsSearchResult;
6269
+ productDetails?: ProductDetailSearchResult | null;
6270
+ attributeGroups?: AttributeGroupSearchResult | null;
6271
+ productClassifications?: ProductClassificationsSearchResult | null;
6272
+ productRelationships?: RelationshipSearchResult | null;
6273
+ relatedLinks?: RelatedLinksSearchResult | null;
6274
+ relatedProducts?: RelatedProductsSearchResult | null;
6275
+ productVariantsSelector?: ProductVariantsSelectorSearchResult | null;
6276
+ productVariantsTable?: ProductVariantsTableSearchResult | null;
6277
+ productVariantsDropdown?: ProductVariantsDropdownSearchResult | null;
6278
+ extendedObjectData?: EomSearchResult | null;
6279
+ breadcrumbs?: BreadcrumbsSearchResult | null;
6392
6280
  };
6393
6281
 
6394
6282
  /**
6395
6283
  * Core product data including attributes, images, and status. Populated when DataTypes includes ProductDetails.
6396
6284
  */
6397
6285
  declare type ProductDetailSearchResult = {
6398
- item?: ProductItem;
6286
+ item?: ProductItem | null;
6399
6287
  };
6400
6288
 
6401
- declare interface ProductErrorsActionData {
6402
- errors: ActionInfo[];
6403
- warnings: ActionInfo[];
6289
+ export declare interface ProductDetailsRenderOptions {
6290
+ /** Product id for the detail request. */
6291
+ productId: string;
6292
+ /** Optional classification node id scoping the detail request. */
6293
+ cid?: string;
6294
+ /**
6295
+ * Instance id written into the emitted `instance-id` attributes. Pass the
6296
+ * same id your client bootstrap will `init()`. Default: `pis-ssr`.
6297
+ * (In `template` mode the markup's own attributes are preserved verbatim;
6298
+ * this id is only what the renderer resolves internally and reports back.)
6299
+ */
6300
+ instanceId?: string;
6301
+ /**
6302
+ * Standard products init options (`appSettings`, `components`, `baseUrl`,
6303
+ * `accessToken`, ...). `baseUrl` is required by `init()` validation even in
6304
+ * full-payload mode; server-side fetches additionally need `accessToken`.
6305
+ */
6306
+ options: ProductsOptions;
6307
+ /**
6308
+ * Details components to render, in order. `data` is the tabbed container
6309
+ * (navigation, attribute groups, relationships, variants table,
6310
+ * classifications, related links); the remaining entries are the standalone
6311
+ * sections for ABB-style compositions. Default: header, gallery, data.
6312
+ * Mutually exclusive with `template`.
6313
+ */
6314
+ composition?: ProductDetailsServerComponent[];
6315
+ /**
6316
+ * Consumer-authored partial markup (a .NET partial view, a PHP template
6317
+ * fragment, ...): the renderer keeps every byte of your chrome, finds the
6318
+ * `pis-products-details-*` host tags inside, and injects each component's
6319
+ * server-rendered internals while preserving the tags' attributes and your
6320
+ * static slotted children. Unknown `pis-*` tags pass through untouched as
6321
+ * shells. Mutually exclusive with `composition`.
6322
+ */
6323
+ template?: string;
6324
+ /** Pre-fetched API responses; missing pieces are fetched server-side. */
6325
+ payload?: ProductDetailsRenderPayload;
6326
+ /** Header control for server-side fetches (ignored in full-payload mode). */
6327
+ fetch?: ProductDetailsServerFetch;
6328
+ /** Emit schema.org Product JSON-LD derived from the detail payload. */
6329
+ structuredData?: boolean;
6330
+ /**
6331
+ * Theme stylesheet entry (a `dist/styles/<theme>.css` file name without
6332
+ * extension). Default: `theme-abb`.
6333
+ */
6334
+ theme?: string;
6335
+ /** How long to wait for the data load before failing. Default: 15 s. */
6336
+ timeoutMs?: number;
6404
6337
  }
6405
6338
 
6406
6339
  /**
6407
- * Product group classification of this node (e.g., configurable, standard).
6340
+ * Pre-fetched PIS Web API responses for the render, following the documented
6341
+ * "SSR-Embedded Initial Data" payload contract: full, unmodified API responses
6342
+ * exactly as the Web API would have answered.
6408
6343
  */
6409
- declare type ProductGroup = {
6410
- status: ProductGroupValidationStatusEnum;
6344
+ export declare interface ProductDetailsRenderPayload {
6345
+ /** Full `/v2/Products/Detail` response. */
6346
+ detail?: ProductDetail;
6347
+ /** Full `/v2/Translations` response. */
6348
+ translations?: TranslationItem[];
6349
+ }
6350
+
6351
+ export declare interface ProductDetailsRenderResult {
6411
6352
  /**
6412
- * Product group code
6353
+ * Server-rendered `pis-*` markup. In composition mode: the instance wrapper
6354
+ * with the details-router-view and every composed component host tag
6355
+ * carrying fully rendered internals. In template mode: the consumer
6356
+ * template verbatim, with each `pis-products-details-*` host carrying its
6357
+ * rendered internals. Place it where the shells would go; the client
6358
+ * upgrade re-renders the same content in place.
6413
6359
  */
6414
- code?: string;
6360
+ html: string;
6361
+ /** The instance id the emitted markup carries. */
6362
+ instanceId: string;
6363
+ /** Whether the detail request produced a product item. */
6364
+ found: boolean;
6365
+ head: {
6366
+ /** Product display name derived from `#DisplayName`. */
6367
+ title?: string;
6368
+ /** Meta description derived from `#Description` / `#ShortDescription`. */
6369
+ metaDescription?: string;
6370
+ /** schema.org Product JSON-LD (only with `structuredData: true`). */
6371
+ jsonLd?: Record<string, unknown>;
6372
+ };
6373
+ /** Recommended stylesheet imports for first-paint styling, in load order: theme, `pis.css`, `fonts.css`. */
6374
+ cssImports: string[];
6415
6375
  /**
6416
- * Product group name
6376
+ * Escaped JSON payloads for the documented one-shot client `httpInterceptor`
6377
+ * hydration (embed as `application/json` script tags).
6417
6378
  */
6418
- name?: string;
6419
- };
6379
+ embeddedPayload: {
6380
+ detailJson: string;
6381
+ translationsJson: string;
6382
+ };
6383
+ }
6420
6384
 
6421
6385
  /**
6422
- * Product group validation status
6423
- *
6424
- * Values:
6386
+ * D10 amendment (plan/25): the deliberate server rendering surface. Everything
6387
+ * in this module runs in a Node ESM server environment; importing it from
6388
+ * browser code is a usage error (the render functions need no DOM, but the
6389
+ * entry exists for server consumers only and is exported under the `node`
6390
+ * condition of `@pisapp/core/server`).
6391
+ */
6392
+ /** A details-view component the server renderer can emit. */
6393
+ export declare type ProductDetailsServerComponent = 'header' | 'gallery' | 'variants-dropdown' | 'variants-selector' | 'data' | 'actions' | 'classifications' | 'general-information' | 'attribute-groups' | 'relationships' | 'related-links' | 'variants-table';
6394
+
6395
+ /**
6396
+ * Controls the server-side PIS Web API fetches when a payload does not cover
6397
+ * them. Per the v2 request rules, a server sets `User-Agent` itself and derives
6398
+ * `X-Forwarded-For` from its trusted incoming connection - never copy an
6399
+ * untrusted forwarding header from an outside request.
6400
+ */
6401
+ export declare interface ProductDetailsServerFetch {
6402
+ /**
6403
+ * Extra headers on every PIS Web API request (`User-Agent`,
6404
+ * `X-Forwarded-For`, tenant headers...). The renderer adds `Authorization`,
6405
+ * `Content-Type`, and `Component-Version`.
6406
+ */
6407
+ headers?: Record<string, string>;
6408
+ }
6409
+
6410
+ declare interface ProductErrorsActionData {
6411
+ errors: ActionInfo[];
6412
+ warnings: ActionInfo[];
6413
+ }
6414
+
6415
+ /**
6416
+ * Product group classification of this node (e.g., configurable, standard).
6417
+ */
6418
+ declare type ProductGroup = {
6419
+ status: ProductGroupValidationStatusEnum;
6420
+ /**
6421
+ * Product group code
6422
+ */
6423
+ code?: string | null;
6424
+ /**
6425
+ * Product group name
6426
+ */
6427
+ name?: string | null;
6428
+ };
6429
+
6430
+ /**
6431
+ * Product group validation status
6432
+ *
6433
+ * Values:
6425
6434
  * - `NonApplicable` — Non applicable
6426
6435
  * - `Valid` — Valid
6427
6436
  * - `Invalid` — Invalid
@@ -6444,15 +6453,15 @@ declare type ProductItem = {
6444
6453
  /**
6445
6454
  * Customer-specific alias identifiers for this product.
6446
6455
  */
6447
- aliases?: Array<string>;
6456
+ aliases?: Array<string> | null;
6448
6457
  /**
6449
6458
  * Replacement products available for this item (e.g. successor or substitute products).
6450
6459
  */
6451
- replacements?: Array<ProductReplacement>;
6460
+ replacements?: Array<ProductReplacement> | null;
6452
6461
  /**
6453
6462
  * Additional metadata entries attached to this product (e.g. configurator links, ordering info).
6454
6463
  */
6455
- additionalInfo?: Array<ProductAdditionalInfo>;
6464
+ additionalInfo?: Array<ProductAdditionalInfo> | null;
6456
6465
  /**
6457
6466
  * When true, the product is inactive and navigation to detail/preview should be disabled in the UI.
6458
6467
  */
@@ -6460,7 +6469,7 @@ declare type ProductItem = {
6460
6469
  /**
6461
6470
  * Product images.
6462
6471
  */
6463
- images?: Array<PisImage>;
6472
+ images?: Array<PisImage> | null;
6464
6473
  /**
6465
6474
  * Indicates whether the product is published and visible for the current application.
6466
6475
  */
@@ -6468,7 +6477,7 @@ declare type ProductItem = {
6468
6477
  /**
6469
6478
  * All available PRM relationship identifiers for this product (e.g. accessories, spare parts, replacements).
6470
6479
  */
6471
- allRelationships?: Array<PrmRelationshipIdentifier>;
6480
+ allRelationships?: Array<PrmRelationshipIdentifier> | null;
6472
6481
  /**
6473
6482
  * Indicates whether variants of the product are available.
6474
6483
  */
@@ -6476,19 +6485,19 @@ declare type ProductItem = {
6476
6485
  /**
6477
6486
  * List of variant attributes associated with the product item
6478
6487
  */
6479
- variantAttributes?: Array<Attribute>;
6488
+ variantAttributes?: Array<Attribute> | null;
6480
6489
  /**
6481
6490
  * Customer specific data. Contains information such as Customer system id, customer sales unit, customer id, and restriction status for each customer.
6482
6491
  */
6483
- customerSpecificData?: Array<CustomerSpecificData>;
6492
+ customerSpecificData?: Array<CustomerSpecificData> | null;
6484
6493
  /**
6485
6494
  * Extended Object Data (EOM) associated with the product. Contains additional metadata and structured information for the product. To retrieve EOM data, must be set to true.
6486
6495
  */
6487
- extendedObjectData?: Array<EomObject>;
6496
+ extendedObjectData?: Array<EomObject> | null;
6488
6497
  /**
6489
6498
  * Product domain
6490
6499
  */
6491
- productIdDomain?: string;
6500
+ productIdDomain?: string | null;
6492
6501
  /**
6493
6502
  * Identifies whether product is spare part.
6494
6503
  */
@@ -6497,7 +6506,7 @@ declare type ProductItem = {
6497
6506
  * Exact Match is true when search text matches any of product identifiers.
6498
6507
  */
6499
6508
  exactMatch: boolean;
6500
- classifications?: ProductItemClassifications;
6509
+ classifications?: ProductItemClassifications | null;
6501
6510
  /**
6502
6511
  * Product identifier.
6503
6512
  */
@@ -6517,32 +6526,86 @@ declare type ProductItemClassifications = {
6517
6526
  /**
6518
6527
  * Product Class CID's (PC)
6519
6528
  */
6520
- classCids?: Array<string>;
6529
+ classCids?: Array<string> | null;
6521
6530
  /**
6522
6531
  * Product Type CID's (T)
6523
6532
  */
6524
- typeCids?: Array<string>;
6533
+ typeCids?: Array<string> | null;
6525
6534
  /**
6526
6535
  * Product leaf CID's
6527
6536
  */
6528
- leafCids?: Array<string>;
6537
+ leafCids?: Array<string> | null;
6529
6538
  /**
6530
6539
  * Product Level 0 (ROOT) CID's
6531
6540
  */
6532
- level0Cids?: Array<string>;
6541
+ level0Cids?: Array<string> | null;
6533
6542
  /**
6534
6543
  * Breadcrumbs. All item classifications with full path. To retrieve Breadcrumbs data, or must be set to true.
6535
6544
  */
6536
6545
  breadcrumbs?: {
6537
6546
  [key: string]: Array<Array<BreadcrumbItem>>;
6538
- };
6547
+ } | null;
6548
+ };
6549
+
6550
+ /**
6551
+ * Controls optional data and attributes returned for each product result.
6552
+ */
6553
+ export declare type ProductItemSettings = {
6554
+ /**
6555
+ * When true, includes product classification assignments.
6556
+ */
6557
+ includeClassifications?: boolean | null;
6558
+ /**
6559
+ * When true, includes classification breadcrumbs.
6560
+ */
6561
+ includeClassificationBreadcrumbs?: boolean | null;
6562
+ /**
6563
+ * When true, includes identifiers for all product relationships.
6564
+ */
6565
+ includeAllRelationships?: boolean | null;
6566
+ /**
6567
+ * When true, includes metadata describing the product's variant attributes.
6568
+ */
6569
+ includeVariantAttributes?: boolean | null;
6570
+ /**
6571
+ * When true, includes product aliases.
6572
+ */
6573
+ includeAliases?: boolean | null;
6574
+ /**
6575
+ * When true, includes replacement products.
6576
+ */
6577
+ includeReplacements?: boolean | null;
6578
+ /**
6579
+ * When true, includes additional product metadata.
6580
+ */
6581
+ includeAdditionalInfo?: boolean | null;
6582
+ /**
6583
+ * When true, includes customer-specific product data.
6584
+ */
6585
+ includeCustomerSpecificData?: boolean | null;
6586
+ /**
6587
+ * Attribute codes to return for each product. Supports wildcard patterns.
6588
+ */
6589
+ attributeCodes?: Array<string> | null;
6590
+ /**
6591
+ * When true, includes criterion-ready raw values for returned attributes.
6592
+ */
6593
+ includeRawValues?: boolean | null;
6594
+ /**
6595
+ * When true, includes Extended Object Data (EOM) for the product.
6596
+ */
6597
+ includeExtendedObjectData?: boolean | null;
6598
+ /**
6599
+ * Maximum number of images to return for each product. When omitted or null, no images are returned.
6600
+ */
6601
+ maxProductImages?: number | null;
6539
6602
  };
6540
6603
 
6541
6604
  /**
6542
6605
  * Response from the Preview endpoint containing the full product item.
6543
6606
  */
6544
6607
  declare type ProductPreview = {
6545
- item?: ProductItem;
6608
+ item?: ProductItem | null;
6546
6609
  };
6547
6610
 
6548
6611
  /**
@@ -6553,12 +6616,20 @@ declare type ProductReplacement = {
6553
6616
  * Label
6554
6617
  */
6555
6618
  label: string;
6556
- link?: Link;
6619
+ link?: Link | null;
6557
6620
  };
6558
6621
 
6559
6622
  /** Every command name the products domain can dispatch. */
6560
6623
  declare const PRODUCTS_COMMAND_NAMES: readonly ["filter-search", "details", "preview", "scroll-to-top", "document", "configurator", "back", "search-view", "sub-view", "filter-classification", "filter-parts-type", "filter-master-product", "paginate", "page-size", "sort-by", "filter-parametric-apply", "filter-parametric-remove", "get-filters", "get-filter-values", "get-variant-table-group", "get-autocomplete", "get-prm-list", "get-prm-autocomplete", "get-prm-filter-values", "export", "favorite-views-load", "favorite-views-save", "favorite-views-delete", "favorite-views-apply", "get-classifications-nodes", "favorite-category-add", "favorite-category-remove", "print-to-pdf", "show-print-view", "notification-show", "notification-hide", "filter-compare", "remove-compare-item", "show-compare-print-view", "product-action-completed", "add-to-catalog", "product-errors-action", "catalog-get-options", "catalogs-fetch", "catalog-create-new", "product-add-to-catalog"];
6561
6624
 
6625
+ export declare const PRODUCTS_HTTP_ROUTES: {
6626
+ readonly search: '/v2/Products/Search';
6627
+ readonly count: '/v2/Products/Count';
6628
+ readonly detail: '/v2/Products/Detail';
6629
+ readonly variantsTable: '/v2/Products/Variants/Table';
6630
+ readonly translations: '/v2/Translations';
6631
+ };
6632
+
6562
6633
  /** Internal (non-swagger) data types the products domain can register. */
6563
6634
  declare const PRODUCTS_INTERNAL_DATA_TYPES: {
6564
6635
  readonly ProductPreview: "ProductPreview";
@@ -6600,7 +6671,7 @@ export declare interface ProductsCommandArgs {
6600
6671
  /** Search input form submitted. */
6601
6672
  'filter-search': {
6602
6673
  searchText: string;
6603
- searchType: SearchTypeEnum;
6674
+ searchType: ProductsSearchTypeEnum;
6604
6675
  resetCategories?: boolean;
6605
6676
  resetFilters?: boolean;
6606
6677
  cid?: string;
@@ -6686,7 +6757,7 @@ export declare interface ProductsCommandArgs {
6686
6757
  /** PRM autocomplete load. */
6687
6758
  'get-prm-autocomplete': PrmLoadArgs;
6688
6759
  /** PRM filter values load. */
6689
- 'get-prm-filter-values': PrmFilterSettings;
6760
+ 'get-prm-filter-values': RelationshipFilterSettings;
6690
6761
  /** Search results export action triggered. */
6691
6762
  export: ExportMenuItem;
6692
6763
  /** Favorite views load. */
@@ -6790,7 +6861,7 @@ export declare interface ProductsCompareRouteData {
6790
6861
  * FirstFound - first product detail template is used.
6791
6862
  * Flat - attribute grouping is not applied.
6792
6863
  */
6793
- mergeMethod?: AttributeMergeMethodEnum;
6864
+ mergeMethod?: `${AttributeMergeMethodEnum}`;
6794
6865
  /**
6795
6866
  * If true, only attribute values that are present on the product detail page AGM template are shown. If attribute is not present on the AGM template, N/A is displayed.
6796
6867
  * If false, all attribute values that exist in the product data are shown.
@@ -6848,13 +6919,13 @@ declare const ProductsDataType: {
6848
6919
  readonly RelatedProducts: "RelatedProducts";
6849
6920
  readonly ProductCompare: "ProductCompare";
6850
6921
  readonly ProductIdToName: "ProductIdToName";
6851
- readonly Classifications: SearchDataTypeEnum.CLASSIFICATIONS;
6852
- readonly Products: SearchDataTypeEnum.PRODUCTS;
6853
- readonly Filters: SearchDataTypeEnum.FILTERS;
6854
- readonly Breadcrumbs: SearchDataTypeEnum.BREADCRUMBS;
6855
- readonly Configurators: SearchDataTypeEnum.CONFIGURATORS;
6856
- readonly MasterProducts: SearchDataTypeEnum.MASTER_PRODUCTS;
6857
- readonly PartTypes: SearchDataTypeEnum.PART_TYPES;
6922
+ readonly Classifications: ProductsSearchDataTypeEnum.CLASSIFICATIONS;
6923
+ readonly Products: ProductsSearchDataTypeEnum.PRODUCTS;
6924
+ readonly Filters: ProductsSearchDataTypeEnum.FILTERS;
6925
+ readonly Breadcrumbs: ProductsSearchDataTypeEnum.BREADCRUMBS;
6926
+ readonly Configurators: ProductsSearchDataTypeEnum.CONFIGURATORS;
6927
+ readonly MasterProducts: ProductsSearchDataTypeEnum.MASTER_PRODUCTS;
6928
+ readonly PartTypes: ProductsSearchDataTypeEnum.PART_TYPES;
6858
6929
  readonly ProductDetails: DetailDataTypeEnum.PRODUCT_DETAILS;
6859
6930
  readonly ProductClassifications: DetailDataTypeEnum.PRODUCT_CLASSIFICATIONS;
6860
6931
  readonly AttributeGroups: DetailDataTypeEnum.ATTRIBUTE_GROUPS;
@@ -6866,7 +6937,7 @@ declare const ProductsDataType: {
6866
6937
  readonly ExtendedObjectData: DetailDataTypeEnum.EXTENDED_OBJECT_DATA;
6867
6938
  };
6868
6939
 
6869
- declare type ProductsDataType = DetailDataTypeEnum | SearchDataTypeEnum | ProductsInternalDataType;
6940
+ declare type ProductsDataType = DetailDataTypeEnum | ProductsSearchDataTypeEnum | ProductsInternalDataType;
6870
6941
 
6871
6942
  export declare interface ProductsDetailRouteData {
6872
6943
  /**
@@ -6945,10 +7016,10 @@ export declare type ProductsDetailsVariantsTableHeaderContext = HeaderTemplatePr
6945
7016
  export declare type ProductsDetailsVariantsTableHeaderProps = TemplateProps<'products.details.variantsTable.header'>;
6946
7017
 
6947
7018
  /**
6948
- * Products search result
7019
+ * Related product search result.
6949
7020
  */
6950
7021
  declare type ProductSearchResult = {
6951
- items?: Array<ProductItem>;
7022
+ items?: Array<ProductItem> | null;
6952
7023
  totalCount: number;
6953
7024
  };
6954
7025
 
@@ -7018,7 +7089,7 @@ declare interface ProductsEventMap {
7018
7089
  * this event contains the complete search response; item rows may carry
7019
7090
  * `customData` fields added by `dataInterceptor`.
7020
7091
  */
7021
- 'search-loaded': SearchResult;
7092
+ 'search-loaded': ProductsSearchResult;
7022
7093
  /**
7023
7094
  * Triggered after search query results have been fetched and the search
7024
7095
  * state has changed (for example filters, pager, or search text). No
@@ -7140,7 +7211,7 @@ declare interface ProductsLoadEventPayloads {
7140
7211
  ProductDetails: ProductsWithCustomDataItems<ProductDetailSearchResult>;
7141
7212
  ProductClassifications: ProductsWithCustomDataItems<ProductClassificationsSearchResult>;
7142
7213
  AttributeGroups: ProductsWithCustomDataItems<AttributeGroupSearchResult>;
7143
- ProductRelationships: ProductsWithCustomDataItems<PrmSearchResult>;
7214
+ ProductRelationships: ProductsWithCustomDataItems<RelationshipSearchResult>;
7144
7215
  Configurators: ProductsWithCustomDataItems<ConfiguratorItemSearchResult>;
7145
7216
  RelatedLinks: ProductsWithCustomDataItems<RelatedLinksSearchResult>;
7146
7217
  ProductPreview: ProductsWithCustomDataItems<ProductPreview>;
@@ -7266,6 +7337,28 @@ export declare type ProductsSearchCommonConfiguratorsActionContext = Configurato
7266
7337
 
7267
7338
  export declare type ProductsSearchCommonConfiguratorsActionProps = TemplateProps<'products.search.common.configurators.action'>;
7268
7339
 
7340
+ /**
7341
+ * Specifies which data sections to include in a v2 product search response. Multiple values can be combined.
7342
+ *
7343
+ * Values:
7344
+ * - `Classifications` — Classification tree nodes matching the search criteria.
7345
+ * - `Products` — Product instances matching the search criteria.
7346
+ * - `Filters` — Available filter facets (attribute values) for the current result set.
7347
+ * - `Breadcrumbs` — Breadcrumb trail from the root to the current classification node.
7348
+ * - `Configurators` — Configurator items and configurator hit counts in the classification tree.
7349
+ * - `MasterProducts` — Master products for spare-part narrowing. Available only in the Parts view.
7350
+ * - `PartTypes` — Available spare-part type facets for the current result set.
7351
+ */
7352
+ declare enum ProductsSearchDataTypeEnum {
7353
+ CLASSIFICATIONS = "Classifications",
7354
+ PRODUCTS = "Products",
7355
+ FILTERS = "Filters",
7356
+ BREADCRUMBS = "Breadcrumbs",
7357
+ CONFIGURATORS = "Configurators",
7358
+ MASTER_PRODUCTS = "MasterProducts",
7359
+ PART_TYPES = "PartTypes"
7360
+ }
7361
+
7269
7362
  export declare type ProductsSearchFormAutocompleteItemContext = ItemLightTemplateProps<Item<AutocompleteModelItem>, ProductsInstance>;
7270
7363
 
7271
7364
  export declare type ProductsSearchFormAutocompleteItemProps = TemplateProps<'products.search.form.autocompleteItem'>;
@@ -7326,6 +7419,19 @@ export declare type ProductsSearchPaginationPaginationContext = PaginationTempla
7326
7419
 
7327
7420
  export declare type ProductsSearchPaginationPaginationProps = TemplateProps<'products.search.pagination.pagination'>;
7328
7421
 
7422
+ /**
7423
+ * Composite response returned by the v2 product Search endpoint.
7424
+ */
7425
+ declare type ProductsSearchResult = {
7426
+ classifications?: ClassificationsSearchResult | null;
7427
+ products?: ProductSearchResult | null;
7428
+ filters?: FilterSearchResult | null;
7429
+ breadcrumbs?: BreadcrumbsSearchResult | null;
7430
+ configurators?: ConfiguratorItemSearchResult | null;
7431
+ masterProducts?: MasterProductSearchResult | null;
7432
+ partTypes?: PartTypesSearchResult | null;
7433
+ };
7434
+
7329
7435
  export declare interface ProductsSearchRouteData {
7330
7436
  /**
7331
7437
  * Search phrase. No default: an empty value stays empty.
@@ -7334,7 +7440,7 @@ export declare interface ProductsSearchRouteData {
7334
7440
  /**
7335
7441
  * Search method/type. Filled from the default route when empty.
7336
7442
  */
7337
- searchType: SearchTypeEnum;
7443
+ searchType: ProductsSearchTypeEnum;
7338
7444
  /**
7339
7445
  * Category filter. No default: an empty value stays empty.
7340
7446
  */
@@ -7377,6 +7483,27 @@ export declare type ProductsSearchSelectionActionsContext = SelectionActionsTemp
7377
7483
 
7378
7484
  export declare type ProductsSearchSelectionActionsProps = TemplateProps<'products.search.selection.actions'>;
7379
7485
 
7486
+ /**
7487
+ * Search and filter settings saved in this favorite view.
7488
+ */
7489
+ declare type ProductsSearchSettings = {
7490
+ /**
7491
+ * Classification node identifier (CID) to scope the search to a specific tree branch.
7492
+ */
7493
+ cid?: string | null;
7494
+ partType: PartTypeEnum;
7495
+ /**
7496
+ * Master product id. Used to narrow down search results to products related to the specified master product.
7497
+ */
7498
+ masterProductId?: string | null;
7499
+ filter?: CriteriaGroup | null;
7500
+ /**
7501
+ * Free-text search term used to match products by name, description, or attribute values.
7502
+ */
7503
+ searchText?: string | null;
7504
+ searchType: ProductsSearchTypeEnum;
7505
+ };
7506
+
7380
7507
  export declare type ProductsSearchTableCellContext = TableCellTemplateProps<Item<ProductItem>, ProductsInstance>;
7381
7508
 
7382
7509
  export declare type ProductsSearchTableCellProps = TemplateProps<'products.search.table.cell'>;
@@ -7405,6 +7532,24 @@ export declare type ProductsSearchToolbarCustomActionsContext = ActionsBaseTempl
7405
7532
 
7406
7533
  export declare type ProductsSearchToolbarCustomActionsProps = TemplateProps<'products.search.toolbar.customActions'>;
7407
7534
 
7535
+ /**
7536
+ * Text matching strategy applied to .
7537
+ *
7538
+ * Values:
7539
+ * - `WithAllWords` — All words in the search term must appear in the result.
7540
+ * - `WithAtLeastOneWord` — At least one word in the search term must appear in the result.
7541
+ * - `ExactPhrase` — The search term is matched as an exact phrase.
7542
+ * - `SparePartMasterIdentifier` — Search by spare-part master identifier. Only available in the Parts view.
7543
+ * - `Hierarchical` — Cascading search: tries ExactPhrase first, then WithAllWords, then WithAtLeastOneWord.
7544
+ */
7545
+ export declare enum ProductsSearchTypeEnum {
7546
+ WITH_ALL_WORDS = "WithAllWords",
7547
+ WITH_AT_LEAST_ONE_WORD = "WithAtLeastOneWord",
7548
+ EXACT_PHRASE = "ExactPhrase",
7549
+ SPARE_PART_MASTER_IDENTIFIER = "SparePartMasterIdentifier",
7550
+ HIERARCHICAL = "Hierarchical"
7551
+ }
7552
+
7408
7553
  export declare interface ProductsTableColumn {
7409
7554
  /**
7410
7555
  * Table header caption
@@ -7481,9 +7626,9 @@ export declare type ProductsViewType = 'search' | 'detail' | 'compare';
7481
7626
  * extension namespace — the only place `dataInterceptor` code may add fields.
7482
7627
  */
7483
7628
  declare type ProductsWithCustomDataItems<TResult> = TResult extends {
7484
- items?: (infer TItem)[];
7629
+ items?: (infer TItem)[] | null;
7485
7630
  } ? Omit<TResult, 'items'> & {
7486
- items?: (TItem & TemplateItem)[];
7631
+ items?: (TItem & TemplateItem)[] | Extract<TResult['items'], null>;
7487
7632
  } : TResult;
7488
7633
 
7489
7634
  declare type ProductTreeType = TreeTypeEnum;
@@ -7526,11 +7671,11 @@ declare type ProductVariantGroup = {
7526
7671
  /**
7527
7672
  * Variant attributes that are dependent on this attribute.
7528
7673
  */
7529
- variantAttributes?: Array<ProductVariantGroupAttribute>;
7674
+ variantAttributes?: Array<ProductVariantGroupAttribute> | null;
7530
7675
  /**
7531
7676
  * Products matching this variant group.
7532
7677
  */
7533
- products?: Array<ProductItem>;
7678
+ products?: Array<ProductItem> | null;
7534
7679
  };
7535
7680
 
7536
7681
  /**
@@ -7554,7 +7699,7 @@ declare type ProductVariantsDropdownSearchResult = {
7554
7699
  /**
7555
7700
  * List of items
7556
7701
  */
7557
- items?: Array<ProductVariantGroup>;
7702
+ items?: Array<ProductVariantGroup> | null;
7558
7703
  };
7559
7704
 
7560
7705
  /**
@@ -7564,7 +7709,7 @@ declare type ProductVariantsSelectorSearchResult = {
7564
7709
  /**
7565
7710
  * List of items
7566
7711
  */
7567
- items?: Array<ProductVariantAttribute>;
7712
+ items?: Array<ProductVariantAttribute> | null;
7568
7713
  };
7569
7714
 
7570
7715
  /**
@@ -7574,7 +7719,7 @@ declare type ProductVariantsTableSearchResult = {
7574
7719
  /**
7575
7720
  * List of product variant groups.
7576
7721
  */
7577
- items?: Array<ProductVariantGroup>;
7722
+ items?: Array<ProductVariantGroup> | null;
7578
7723
  };
7579
7724
 
7580
7725
  /**
@@ -7593,7 +7738,7 @@ declare type ProductVariantValue = {
7593
7738
  * Indicates whether the product variant value matches the specified criteria.
7594
7739
  */
7595
7740
  match: boolean;
7596
- product?: ProductItem;
7741
+ product?: ProductItem | null;
7597
7742
  };
7598
7743
 
7599
7744
  export declare type PublicSelection = ProductSelection;
@@ -7623,11 +7768,11 @@ declare type QuantityItem = {
7623
7768
  /**
7624
7769
  * Store
7625
7770
  */
7626
- store?: string;
7771
+ store?: string | null;
7627
7772
  /**
7628
7773
  * Configuration ids
7629
7774
  */
7630
- configurationIds?: Array<ConfigurationId>;
7775
+ configurationIds?: Array<ConfigurationId> | null;
7631
7776
  /**
7632
7777
  * Quantity modified date
7633
7778
  */
@@ -7653,15 +7798,15 @@ declare type RelatedLink = {
7653
7798
  /**
7654
7799
  * Related link text
7655
7800
  */
7656
- text?: string;
7801
+ text?: string | null;
7657
7802
  /**
7658
7803
  * Related link url
7659
7804
  */
7660
- url?: string;
7805
+ url?: string | null;
7661
7806
  /**
7662
7807
  * Related link image
7663
7808
  */
7664
- image?: string;
7809
+ image?: string | null;
7665
7810
  /**
7666
7811
  * Is related link internal
7667
7812
  */
@@ -7682,7 +7827,7 @@ declare type RelatedLinksSearchResult = {
7682
7827
  /**
7683
7828
  * List of items
7684
7829
  */
7685
- items?: Array<RelatedLink>;
7830
+ items?: Array<RelatedLink> | null;
7686
7831
  };
7687
7832
 
7688
7833
  /**
@@ -7692,15 +7837,15 @@ declare type RelatedProduct = {
7692
7837
  /**
7693
7838
  * Parent product condition. 'PartType' attribute value.
7694
7839
  */
7695
- condition?: string;
7840
+ condition?: string | null;
7696
7841
  /**
7697
7842
  * Related product id
7698
7843
  */
7699
- productId?: string;
7844
+ productId?: string | null;
7700
7845
  /**
7701
7846
  * Related product global commercial alias
7702
7847
  */
7703
- gloComAli?: string;
7848
+ gloComAli?: string | null;
7704
7849
  };
7705
7850
 
7706
7851
  /**
@@ -7710,11 +7855,48 @@ declare type RelatedProductsSearchResult = {
7710
7855
  /**
7711
7856
  * Current product condition. First 'PartType' attribute value.
7712
7857
  */
7713
- condition?: string;
7858
+ condition?: string | null;
7714
7859
  /**
7715
7860
  * List of items
7716
7861
  */
7717
- items?: Array<RelatedProduct>;
7862
+ items?: Array<RelatedProduct> | null;
7863
+ };
7864
+
7865
+ /**
7866
+ * A v2 relationship definition with related product data, images, and optional filter facets.
7867
+ */
7868
+ declare type Relationship = {
7869
+ /**
7870
+ * Unique code identifying this relationship definition.
7871
+ */
7872
+ code: string;
7873
+ /**
7874
+ * Localized display name of the relationship definition.
7875
+ */
7876
+ description: string;
7877
+ type: RelationshipTypeEnum;
7878
+ orgType?: RelationshipOrgTypeEnum | null;
7879
+ /**
7880
+ * Organization code associated with this relationship, if applicable.
7881
+ */
7882
+ orgCode?: string | null;
7883
+ /**
7884
+ * PisImage identifiers for this relationship. Only populated for relationships.
7885
+ */
7886
+ images?: Array<string> | null;
7887
+ /**
7888
+ * Custom user-defined fields associated with this relationship.
7889
+ */
7890
+ userFields?: Array<UserField> | null;
7891
+ /**
7892
+ * Available filter facets for narrowing related products within this relationship.
7893
+ */
7894
+ filters?: Array<FilterItem> | null;
7895
+ /**
7896
+ * Relationship columns.
7897
+ */
7898
+ columns?: Array<TableColumn> | null;
7899
+ products?: ProductSearchResult | null;
7718
7900
  };
7719
7901
 
7720
7902
  /** v7 relationship action-column cell — extends the table cell with `relationship` + `row`. */
@@ -7757,6 +7939,114 @@ export declare interface RelationshipActionTemplates {
7757
7939
  */
7758
7940
  export declare type RelationshipDisplayMode = 'table' | 'list';
7759
7941
 
7942
+ /**
7943
+ * Criteria identifying the source product, relationship, and filter attributes whose values are requested.
7944
+ */
7945
+ declare type RelationshipFilterSettings = {
7946
+ /**
7947
+ * Attribute codes for which available relationship filter values are returned. At most 100 codes are accepted.
7948
+ */
7949
+ attributeCodes: Array<string>;
7950
+ /**
7951
+ * Optional relationship code to filter by a specific relationship definition.
7952
+ */
7953
+ relationshipCode?: string | null;
7954
+ relationshipType: RelationshipTypeEnum;
7955
+ /**
7956
+ * Free-text search applied to related products within the relationship.
7957
+ */
7958
+ searchText?: string | null;
7959
+ filter?: CriteriaGroup | null;
7960
+ /**
7961
+ * Product id
7962
+ */
7963
+ productId: string;
7964
+ };
7965
+
7966
+ /**
7967
+ * Organization type that owns this relationship, if applicable.
7968
+ *
7969
+ * Values:
7970
+ * - `Sps` — Spare part supplier
7971
+ * - `Do` — Data owner
7972
+ */
7973
+ declare enum RelationshipOrgTypeEnum {
7974
+ SPS = "Sps",
7975
+ DO = "Do"
7976
+ }
7977
+
7978
+ /**
7979
+ * Product relationships (replacements, accessories, spare parts). Populated when DataTypes includes ProductRelationships.
7980
+ */
7981
+ declare type RelationshipSearchResult = {
7982
+ /**
7983
+ * Relationship definitions and their related product results.
7984
+ */
7985
+ items?: Array<Relationship> | null;
7986
+ };
7987
+
7988
+ /**
7989
+ * Relationship search criteria used to identify the source relationship and search text.
7990
+ */
7991
+ declare type RelationshipSearchSettings = {
7992
+ /**
7993
+ * Optional relationship code to filter by a specific relationship definition.
7994
+ */
7995
+ relationshipCode?: string | null;
7996
+ relationshipType: RelationshipTypeEnum;
7997
+ /**
7998
+ * Free-text search applied to related products within the relationship.
7999
+ */
8000
+ searchText?: string | null;
8001
+ filter?: CriteriaGroup | null;
8002
+ /**
8003
+ * Product id
8004
+ */
8005
+ productId: string;
8006
+ };
8007
+
8008
+ /**
8009
+ * Relationship type (e.g. Accessories, Spare Parts).
8010
+ *
8011
+ * Values:
8012
+ * - `All` — All
8013
+ * - `Accessories` — Accessories
8014
+ * - `AlternativeSell` — Alternative sell
8015
+ * - `ConsistsOf` — Consists of
8016
+ * - `CrossSell` — Cross sell
8017
+ * - `DeviceTypeCode` — Device type code
8018
+ * - `DeviceTypeList` — Device type list
8019
+ * - `KitContents` — Kit contents
8020
+ * - `SoftwareList` — Software list
8021
+ * - `UpSell` — Up sell
8022
+ * - `SparePartSelectionList` — Spare part selection list
8023
+ * - `SparePartUsedOnList` — Spare part used on list
8024
+ * - `SuperCodeBoM` — Super code bom
8025
+ * - `WhereUsed` — Where used
8026
+ * - `EnhancedSparePartFilters` — Enhanced spare part filters
8027
+ * - `Variants` — Product variants
8028
+ */
8029
+ declare enum RelationshipTypeEnum {
8030
+ ALL = "All",
8031
+ ACCESSORIES = "Accessories",
8032
+ ALTERNATIVE_SELL = "AlternativeSell",
8033
+ CONSISTS_OF = "ConsistsOf",
8034
+ CROSS_SELL = "CrossSell",
8035
+ DEVICE_TYPE_CODE = "DeviceTypeCode",
8036
+ DEVICE_TYPE_LIST = "DeviceTypeList",
8037
+ KIT_CONTENTS = "KitContents",
8038
+ SOFTWARE_LIST = "SoftwareList",
8039
+ UP_SELL = "UpSell",
8040
+ SPARE_PART_SELECTION_LIST = "SparePartSelectionList",
8041
+ SPARE_PART_USED_ON_LIST = "SparePartUsedOnList",
8042
+ SUPER_CODE_BO_M = "SuperCodeBoM",
8043
+ WHERE_USED = "WhereUsed",
8044
+ ENHANCED_SPARE_PART_FILTERS = "EnhancedSparePartFilters",
8045
+ VARIANTS = "Variants"
8046
+ }
8047
+
8048
+ export declare function renderProductDetails(options: ProductDetailsRenderOptions): Promise<ProductDetailsRenderResult>;
8049
+
7760
8050
  /**
7761
8051
  * Recursively optional patch shape of a route-data read type.
7762
8052
  *
@@ -7815,7 +8105,7 @@ export declare interface SearchComponentOptions {
7815
8105
  /** Favorite categories options. */
7816
8106
  favoriteCategories?: FavoriteCategoriesOptions;
7817
8107
  /** Selection options. */
7818
- selection?: SelectionOptions;
8108
+ selection?: SelectionOptions<ProductsSearchSelectionActionsContext>;
7819
8109
  /** Table sub-view options. */
7820
8110
  table?: ItemsTableOptions;
7821
8111
  /** List sub-view options. */
@@ -7828,28 +8118,6 @@ export declare interface SearchComponentOptions {
7828
8118
  noResults?: BaseComponentOptions;
7829
8119
  }
7830
8120
 
7831
- /**
7832
- * Specifies which data sections to include in a product search response. Multiple values can be combined.
7833
- *
7834
- * Values:
7835
- * - `Classifications` — Classification tree nodes matching the search criteria.
7836
- * - `Products` — Product instances matching the search criteria.
7837
- * - `Filters` — Available filter facets (attribute values) for the current result set.
7838
- * - `Breadcrumbs` — Breadcrumb trail from the root to the current classification node.
7839
- * - `Configurators` — Configurator items and configurator hit counts in the classification tree.
7840
- * - `MasterProducts` — Master products for spare-part narrowing via SearchSettings.MasterProductId. Available only in the Parts view.
7841
- * - `PartTypes` — Available spare-part type facets for the current result set.
7842
- */
7843
- declare enum SearchDataTypeEnum {
7844
- CLASSIFICATIONS = "Classifications",
7845
- PRODUCTS = "Products",
7846
- FILTERS = "Filters",
7847
- BREADCRUMBS = "Breadcrumbs",
7848
- CONFIGURATORS = "Configurators",
7849
- MASTER_PRODUCTS = "MasterProducts",
7850
- PART_TYPES = "PartTypes"
7851
- }
7852
-
7853
8121
  declare interface SearchFavoriteViewsAppliedData {
7854
8122
  routeData: ProductsRouteData;
7855
8123
  }
@@ -7942,26 +8210,14 @@ export declare type SearchNarrowByProductOptions = CardComponentOptions;
7942
8210
  export declare interface SearchOptions {
7943
8211
  /** Variant behavior shared by product search, autocomplete, counts, and filters. */
7944
8212
  variants?: VariantSettings;
7945
- /**
7946
- * Additional attribute codes returned in search
7947
- */
7948
- attributeCodes?: string[];
7949
- /**
7950
- * Max product images to fetch.
7951
- */
7952
- maxProductImages?: number;
8213
+ /** Attribute value ordering applied to product search requests. */
8214
+ sortMap?: SortMapSettings;
8215
+ /** Controls optional data and attributes returned for each product result. */
8216
+ productItemSettings?: ProductItemSettings;
7953
8217
  /**
7954
8218
  * Max category images to fetch.
7955
8219
  */
7956
8220
  maxCategoryImages?: number;
7957
- /**
7958
- * Include product classifications in search results
7959
- */
7960
- includeProductClassifications?: boolean;
7961
- /**
7962
- * Include Extended Object Data (EOM) in search results.
7963
- * */
7964
- includeExtendedObjectData?: boolean;
7965
8221
  }
7966
8222
 
7967
8223
  export declare interface SearchPaginationOptions extends BaseComponentOptions {
@@ -7988,40 +8244,6 @@ declare interface SearchProductsCommandArgs {
7988
8244
  resetFilters?: boolean;
7989
8245
  }
7990
8246
 
7991
- /**
7992
- * Composite response returned by the product Search endpoint. Contains the data sections requested via DataTypes.
7993
- */
7994
- declare type SearchResult = {
7995
- classifications?: ClassificationsSearchResult;
7996
- products?: ProductSearchResult;
7997
- filters?: FilterSearchResult;
7998
- breadcrumbs?: BreadcrumbsSearchResult;
7999
- configurators?: ConfiguratorItemSearchResult;
8000
- masterProducts?: MasterProductSearchResult;
8001
- partTypes?: PartTypesSearchResult;
8002
- };
8003
-
8004
- /**
8005
- * Search and filter settings saved in this favorite view.
8006
- */
8007
- declare type SearchSettings = {
8008
- /**
8009
- * Classification node identifier (CID) to scope the search to a specific tree branch.
8010
- */
8011
- cid?: string;
8012
- partType: PartTypeEnum;
8013
- /**
8014
- * Master product id. Used to narrow down search results to products related to the specified master product.
8015
- */
8016
- masterProductId?: string;
8017
- filter?: CriteriaGroup;
8018
- /**
8019
- * Free-text search term used to match products by name, description, or attribute values.
8020
- */
8021
- searchText?: string;
8022
- searchType: SearchTypeEnum;
8023
- };
8024
-
8025
8247
  export declare interface SearchToolbarComponentOptions extends SearchToolbarOptions {
8026
8248
  /** Export actions rendered by the search toolbar. */
8027
8249
  exportMenu?: ExportMenuOptions;
@@ -8059,24 +8281,6 @@ export declare interface SearchToolbarOptions extends BaseComponentOptions {
8059
8281
  subViewsVisible?: boolean;
8060
8282
  }
8061
8283
 
8062
- /**
8063
- * Text matching strategy applied to .
8064
- *
8065
- * Values:
8066
- * - `WithAllWords` — All words in the search term must appear in the result.
8067
- * - `WithAtLeastOneWord` — At least one word in the search term must appear in the result.
8068
- * - `ExactPhrase` — The search term is matched as an exact phrase.
8069
- * - `SparePartMasterIdentifier` — Search by spare-part master identifier. Only available in the Parts view.
8070
- * - `Hierarchical` — Cascading search: tries ExactPhrase first, then WithAllWords, then WithAtLeastOneWord.
8071
- */
8072
- export declare enum SearchTypeEnum {
8073
- WITH_ALL_WORDS = "WithAllWords",
8074
- WITH_AT_LEAST_ONE_WORD = "WithAtLeastOneWord",
8075
- EXACT_PHRASE = "ExactPhrase",
8076
- SPARE_PART_MASTER_IDENTIFIER = "SparePartMasterIdentifier",
8077
- HIERARCHICAL = "Hierarchical"
8078
- }
8079
-
8080
8284
  /** Selection actions — the only surface with NO emit and NO item. */
8081
8285
  export declare interface SelectionActionsTemplateProps<TInstance extends TemplateInstance = TemplateInstance> {
8082
8286
  /** The domain instance, e.g. ctx.instance.eventBus or ctx.instance.execute(command). */
@@ -8102,7 +8306,7 @@ declare interface SelectionChanged<T = {
8102
8306
  selected: T[];
8103
8307
  }
8104
8308
 
8105
- export declare interface SelectionOptions extends BaseComponentOptions {
8309
+ export declare interface SelectionOptions<TContext extends object = SelectionActionsTemplateProps> extends BaseComponentOptions {
8106
8310
  /**
8107
8311
  * If true, selection is persisted, and not cleared on component navigation
8108
8312
  */
@@ -8123,7 +8327,7 @@ export declare interface SelectionOptions extends BaseComponentOptions {
8123
8327
  * v7: custom actions callbacks. Replaces the v6 `actionsTemplate` string
8124
8328
  * template. ctx = { instance, t } (no emit).
8125
8329
  */
8126
- actionsTemplate?: MountPoint<SelectionActionsTemplateProps>;
8330
+ actionsTemplate?: MountPoint<TContext>;
8127
8331
  }
8128
8332
 
8129
8333
  /** `SelectionOptions` (products + catalogs selection). */
@@ -8155,6 +8359,16 @@ export declare enum SortFieldEnum {
8155
8359
  RELEVANCE = "Relevance"
8156
8360
  }
8157
8361
 
8362
+ /**
8363
+ * Attribute-based sort mappings for the query.
8364
+ */
8365
+ declare type SortMapSettings = {
8366
+ /**
8367
+ * Ordered list of attribute sort mappings. Each entry defines sorting behavior for a specific product attribute.
8368
+ */
8369
+ map?: Array<MapSettings> | null;
8370
+ };
8371
+
8158
8372
  /**
8159
8373
  * Sort settings saved in this favorite view.
8160
8374
  */
@@ -8315,7 +8529,7 @@ declare type TableRow = {
8315
8529
  */
8316
8530
  values?: {
8317
8531
  [key: string]: Array<TableValue>;
8318
- };
8532
+ } | null;
8319
8533
  };
8320
8534
 
8321
8535
  /**
@@ -8325,12 +8539,12 @@ declare type TableValue = {
8325
8539
  /**
8326
8540
  * Text
8327
8541
  */
8328
- text?: string;
8542
+ text?: string | null;
8329
8543
  /**
8330
8544
  * Tool tip
8331
8545
  */
8332
- tooltip?: string;
8333
- link?: Link;
8546
+ tooltip?: string | null;
8547
+ link?: Link | null;
8334
8548
  };
8335
8549
 
8336
8550
  /**
@@ -8485,11 +8699,11 @@ declare type UserField = {
8485
8699
  /**
8486
8700
  * Name of the user field
8487
8701
  */
8488
- name?: string;
8702
+ name?: string | null;
8489
8703
  /**
8490
8704
  * Values of the user field
8491
8705
  */
8492
- values?: Array<string>;
8706
+ values?: Array<string> | null;
8493
8707
  };
8494
8708
 
8495
8709
  /**
@@ -8513,11 +8727,7 @@ export declare type VariantSettings = {
8513
8727
  /**
8514
8728
  * When set to true, similar product variants are collapsed into a single result.
8515
8729
  */
8516
- clustering?: boolean;
8517
- /**
8518
- * Additional attribute codes to return for variant products. Wildcard patterns are supported.
8519
- */
8520
- attributeCodes?: Array<string>;
8730
+ clustering?: boolean | null;
8521
8731
  };
8522
8732
 
8523
8733
  /** Variants-table cell — has `group`, NO `emit`, NO `attrValues`. */