@coveo/headless 3.29.3-pre.6c63261350 → 3.29.3-pre.8a67bd16aa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/case-assist/headless.cjs +1 -1
- package/dist/cjs/commerce/headless.cjs +1 -1
- package/dist/cjs/headless.cjs +1 -1
- package/dist/cjs/insight/headless.cjs +1 -1
- package/dist/cjs/recommendation/headless.cjs +1 -1
- package/dist/cjs/ssr/headless.cjs +1 -1
- package/dist/cjs/ssr-commerce/headless.cjs +1 -1
- package/dist/cjs/ssr-commerce-next/headless.cjs +1 -1
- package/dist/cjs/ssr-next/headless.cjs +1 -1
- package/dist/definitions/ssr/commerce/types/controller-definitions.d.ts +3 -0
- package/dist/definitions/ssr-commerce-next.index.d.ts +8 -8
- package/dist/definitions/ssr-next/commerce/controller-utils.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.d.ts +3 -2
- package/dist/definitions/ssr-next/commerce/controllers/cart/headless-cart.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/context/headless-context.ssr.d.ts +2 -3
- package/dist/definitions/ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +2 -1
- package/dist/definitions/ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.d.ts +3 -2
- package/dist/definitions/ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.d.ts +3 -2
- package/dist/definitions/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.d.ts +3 -13
- package/dist/definitions/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.d.ts +3 -2
- package/dist/definitions/ssr-next/commerce/controllers/product-view/headless-product-view.ssr.d.ts +1 -3
- package/dist/definitions/ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/search-box/headless-search-box.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.d.ts +3 -2
- package/dist/definitions/ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.d.ts +3 -2
- package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-query-trigger.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/types/controller-definitions.d.ts +3 -48
- package/dist/definitions/ssr-next/commerce/types/controller-scopes.d.ts +0 -6
- package/dist/definitions/ssr-next/common/errors.d.ts +0 -3
- package/dist/esm/ssr-next/commerce/controller-utils.js +0 -6
- package/dist/esm/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js +1 -4
- package/dist/esm/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js +1 -4
- package/dist/esm/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js +0 -2
- package/dist/esm/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.js +1 -4
- package/dist/esm/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.js +1 -4
- package/dist/esm/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js +0 -2
- package/dist/esm/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js +1 -4
- package/dist/esm/ssr-next/common/errors.js +0 -10
- package/dist/esm/utils/version.js +1 -1
- package/dist/quantic/case-assist/headless.js +1 -1
- package/dist/quantic/commerce/headless.js +1 -1
- package/dist/quantic/headless.js +1 -1
- package/dist/quantic/insight/headless.js +1 -1
- package/dist/quantic/recommendation/headless.js +1 -1
- package/package.json +1 -1
|
@@ -800,7 +800,7 @@ var import_bueno5 = require("@coveo/bueno");
|
|
|
800
800
|
var import_toolkit7 = require("@reduxjs/toolkit");
|
|
801
801
|
|
|
802
802
|
// src/utils/version.ts
|
|
803
|
-
var VERSION = "3.29.3-pre.
|
|
803
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
804
804
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
805
805
|
|
|
806
806
|
// src/features/configuration/configuration-actions.ts
|
|
@@ -1149,7 +1149,7 @@ var import_bueno6 = require("@coveo/bueno");
|
|
|
1149
1149
|
var import_toolkit4 = require("@reduxjs/toolkit");
|
|
1150
1150
|
|
|
1151
1151
|
// src/utils/version.ts
|
|
1152
|
-
var VERSION = "3.29.3-pre.
|
|
1152
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
1153
1153
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
1154
1154
|
|
|
1155
1155
|
// src/features/configuration/configuration-actions.ts
|
package/dist/cjs/headless.cjs
CHANGED
|
@@ -1374,7 +1374,7 @@ var import_toolkit2 = require("@reduxjs/toolkit");
|
|
|
1374
1374
|
var import_toolkit = require("@reduxjs/toolkit");
|
|
1375
1375
|
|
|
1376
1376
|
// src/utils/version.ts
|
|
1377
|
-
var VERSION = "3.29.3-pre.
|
|
1377
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
1378
1378
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
1379
1379
|
|
|
1380
1380
|
// src/api/analytics/analytics-selectors.ts
|
|
@@ -1278,7 +1278,7 @@ var import_toolkit2 = require("@reduxjs/toolkit");
|
|
|
1278
1278
|
var import_toolkit = require("@reduxjs/toolkit");
|
|
1279
1279
|
|
|
1280
1280
|
// src/utils/version.ts
|
|
1281
|
-
var VERSION = "3.29.3-pre.
|
|
1281
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
1282
1282
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
1283
1283
|
|
|
1284
1284
|
// src/api/analytics/analytics-selectors.ts
|
|
@@ -881,7 +881,7 @@ var validateObject = (engine, schema, obj, validationMessage, errorMessage) => {
|
|
|
881
881
|
};
|
|
882
882
|
|
|
883
883
|
// src/utils/version.ts
|
|
884
|
-
var VERSION = "3.29.3-pre.
|
|
884
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
885
885
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
886
886
|
|
|
887
887
|
// src/features/configuration/configuration-actions.ts
|
|
@@ -1306,7 +1306,7 @@ var import_toolkit2 = require("@reduxjs/toolkit");
|
|
|
1306
1306
|
var import_toolkit = require("@reduxjs/toolkit");
|
|
1307
1307
|
|
|
1308
1308
|
// src/utils/version.ts
|
|
1309
|
-
var VERSION = "3.29.3-pre.
|
|
1309
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
1310
1310
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
1311
1311
|
|
|
1312
1312
|
// src/api/analytics/analytics-selectors.ts
|
|
@@ -468,7 +468,7 @@ var import_bueno8 = require("@coveo/bueno");
|
|
|
468
468
|
var import_toolkit3 = require("@reduxjs/toolkit");
|
|
469
469
|
|
|
470
470
|
// src/utils/version.ts
|
|
471
|
-
var VERSION = "3.29.3-pre.
|
|
471
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
472
472
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
473
473
|
|
|
474
474
|
// src/features/configuration/configuration-actions.ts
|
|
@@ -468,7 +468,7 @@ var import_bueno8 = require("@coveo/bueno");
|
|
|
468
468
|
var import_toolkit3 = require("@reduxjs/toolkit");
|
|
469
469
|
|
|
470
470
|
// src/utils/version.ts
|
|
471
|
-
var VERSION = "3.29.3-pre.
|
|
471
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
472
472
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
473
473
|
|
|
474
474
|
// src/features/configuration/configuration-actions.ts
|
|
@@ -1306,7 +1306,7 @@ var import_toolkit2 = require("@reduxjs/toolkit");
|
|
|
1306
1306
|
var import_toolkit = require("@reduxjs/toolkit");
|
|
1307
1307
|
|
|
1308
1308
|
// src/utils/version.ts
|
|
1309
|
-
var VERSION = "3.29.3-pre.
|
|
1309
|
+
var VERSION = "3.29.3-pre.8a67bd16aa";
|
|
1310
1310
|
var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
|
|
1311
1311
|
|
|
1312
1312
|
// src/api/analytics/analytics-selectors.ts
|
|
@@ -170,6 +170,9 @@ type DefaultControllerProps<TControllers extends ControllerDefinitionsMap<Contro
|
|
|
170
170
|
[I in keyof TControllersPropsMap as I extends K ? I : never]: TControllersPropsMap[I];
|
|
171
171
|
};
|
|
172
172
|
type ConditionalControllerProps<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType, K extends keyof TControllers> = TSolutionType extends SolutionType.recommendation ? RecommendationControllerProps<TControllers, TControllersPropsMap, K> : DefaultControllerProps<TControllers, TControllersPropsMap, K>;
|
|
173
|
+
/**
|
|
174
|
+
* @deprecated This interface is no longer used and will be removed in next major version.
|
|
175
|
+
*/
|
|
173
176
|
export interface ControllerDefinitionOption {
|
|
174
177
|
/**
|
|
175
178
|
* Whether the controller will be used in a product listing context.
|
|
@@ -76,27 +76,27 @@ export type { LoggerOptions, LogLevel } from './app/logger.js';
|
|
|
76
76
|
export type { BrowserNavigatorContextProvider, NavigatorContext, NavigatorContextProvider, } from './app/navigator-context-provider.js';
|
|
77
77
|
export type { InteractiveProduct, InteractiveProductOptions, InteractiveProductProps, } from './controllers/commerce/core/interactive-product/headless-core-interactive-product.js';
|
|
78
78
|
export type { Controller, Subscribable, } from './controllers/controller/headless-controller.js';
|
|
79
|
-
export type { BreadcrumbManager, BreadcrumbManagerState, } from './ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js';
|
|
79
|
+
export type { BreadcrumbManager, BreadcrumbManagerDefinition, BreadcrumbManagerState, } from './ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js';
|
|
80
80
|
export { defineBreadcrumbManager } from './ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js';
|
|
81
81
|
export type { Cart, CartBuildProps, CartDefinition, CartInitialState, CartItem, CartProps, CartState, } from './ssr-next/commerce/controllers/cart/headless-cart.ssr.js';
|
|
82
82
|
export { defineCart } from './ssr-next/commerce/controllers/cart/headless-cart.ssr.js';
|
|
83
83
|
export type { Context, ContextDefinition, ContextOptions, ContextProps, ContextState, UserLocation, View, } from './ssr-next/commerce/controllers/context/headless-context.ssr.js';
|
|
84
84
|
export { defineContext } from './ssr-next/commerce/controllers/context/headless-context.ssr.js';
|
|
85
|
-
export type { DidYouMean, DidYouMeanState, } from './ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.js';
|
|
85
|
+
export type { DidYouMean, DidYouMeanDefinition, DidYouMeanState, } from './ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.js';
|
|
86
86
|
export { defineDidYouMean } from './ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.js';
|
|
87
87
|
export type { CategoryFilterSuggestions, CategoryFilterSuggestionsState, FieldSuggestionsFacet, FilterSuggestions, FilterSuggestionsGenerator, FilterSuggestionsGeneratorDefinition, FilterSuggestionsState, GeneratedFilterSuggestionsControllers, } from './ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.js';
|
|
88
88
|
export { defineFilterSuggestionsGenerator } from './ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.js';
|
|
89
|
-
export type { BaseFacetSearchResult, CategoryFacet, CategoryFacetSearchResult, CategoryFacetState, CategoryFacetValue, CoreCommerceFacet, DateFacet, DateFacetState, DateFacetValue, FacetGenerator, FacetGeneratorState, FacetType, LocationFacet, LocationFacetState, LocationFacetValue, MappedFacetState, MappedFacetStates, MappedGeneratedFacetController, NumericFacet, NumericFacetState, NumericFacetValue, RegularFacet, RegularFacetState, RegularFacetValue, } from './ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js';
|
|
89
|
+
export type { BaseFacetSearchResult, CategoryFacet, CategoryFacetSearchResult, CategoryFacetState, CategoryFacetValue, CoreCommerceFacet, DateFacet, DateFacetState, DateFacetValue, FacetGenerator, FacetGeneratorDefinition, FacetGeneratorState, FacetType, LocationFacet, LocationFacetState, LocationFacetValue, MappedFacetState, MappedFacetStates, MappedGeneratedFacetController, NumericFacet, NumericFacetState, NumericFacetValue, RegularFacet, RegularFacetState, RegularFacetValue, } from './ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js';
|
|
90
90
|
export { defineFacetGenerator } from './ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js';
|
|
91
91
|
export type { InstantProducts, InstantProductsDefinition, InstantProductsOptions, InstantProductsProps, InstantProductsState, } from './ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.js';
|
|
92
92
|
export { defineInstantProducts } from './ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.js';
|
|
93
|
-
export type { CorePaginationOptions, Pagination, PaginationOptions, PaginationProps, PaginationState, } from './ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js';
|
|
93
|
+
export type { CorePaginationOptions, Pagination, PaginationDefinition, PaginationOptions, PaginationProps, PaginationState, } from './ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js';
|
|
94
94
|
export { definePagination } from './ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js';
|
|
95
95
|
export type { CommerceSearchParameters, ParameterManager, ParameterManagerDefinition, ParameterManagerProps, ParameterManagerState, Parameters, ProductListingParameters, SSRParameterManagerProps, } from './ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
|
|
96
96
|
export { defineParameterManager } from './ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
|
|
97
|
-
export type { ProductList, ProductListing, ProductListState, Search, } from './ssr-next/commerce/controllers/product-list/headless-product-list.ssr.js';
|
|
97
|
+
export type { ProductList, ProductListDefinition, ProductListing, ProductListState, Search, } from './ssr-next/commerce/controllers/product-list/headless-product-list.ssr.js';
|
|
98
98
|
export { defineProductList } from './ssr-next/commerce/controllers/product-list/headless-product-list.ssr.js';
|
|
99
|
-
export type { ProductView } from './ssr-next/commerce/controllers/product-view/headless-product-view.ssr.js';
|
|
99
|
+
export type { ProductView, ProductViewDefinition, } from './ssr-next/commerce/controllers/product-view/headless-product-view.ssr.js';
|
|
100
100
|
export { defineProductView } from './ssr-next/commerce/controllers/product-view/headless-product-view.ssr.js';
|
|
101
101
|
export type { RecentQueriesList, RecentQueriesListDefinition, RecentQueriesListInitialState, RecentQueriesListOptions, RecentQueriesListProps, RecentQueriesState, } from './ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.js';
|
|
102
102
|
export { defineRecentQueriesList } from './ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.js';
|
|
@@ -104,11 +104,11 @@ export type { Recommendations, RecommendationsDefinition, RecommendationsState,
|
|
|
104
104
|
export { defineRecommendations } from './ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.js';
|
|
105
105
|
export type { CoreSearchBox, SearchBox, SearchBoxDefinition, SearchBoxOptions, SearchBoxProps, SearchBoxState, Suggestion, } from './ssr-next/commerce/controllers/search-box/headless-search-box.ssr.js';
|
|
106
106
|
export { defineSearchBox } from './ssr-next/commerce/controllers/search-box/headless-search-box.ssr.js';
|
|
107
|
-
export type { Sort, SortProps, SortState, } from './ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js';
|
|
107
|
+
export type { Sort, SortDefinition, SortProps, SortState, } from './ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js';
|
|
108
108
|
export { defineSort } from './ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js';
|
|
109
109
|
export type { StandaloneSearchBox, StandaloneSearchBoxDefinition, StandaloneSearchBoxProps, StandaloneSearchBoxState, } from './ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.js';
|
|
110
110
|
export { defineStandaloneSearchBox } from './ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.js';
|
|
111
|
-
export type { ProductListingSummaryState, RecommendationsSummaryState, SearchSummaryState, Summary, SummaryState, } from './ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js';
|
|
111
|
+
export type { ProductListingSummaryState, RecommendationsSummaryState, SearchSummaryState, Summary, SummaryDefinition, SummaryState, } from './ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js';
|
|
112
112
|
export { defineSummary } from './ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js';
|
|
113
113
|
export type { NotifyTrigger, NotifyTriggerDefinition, NotifyTriggerState, } from './ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.js';
|
|
114
114
|
export { defineNotifyTrigger } from './ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.js';
|
|
@@ -2,7 +2,7 @@ import type { UnknownAction } from '@reduxjs/toolkit';
|
|
|
2
2
|
import type { Controller } from '../../controllers/controller/headless-controller.js';
|
|
3
3
|
import type { SSRCommerceEngine } from './factories/build-factory.js';
|
|
4
4
|
import type { SolutionType } from './types/controller-constants.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { ControllerDefinitionsMap, FilteredBakedInControllers } from './types/controller-definitions.js';
|
|
6
6
|
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition } from './types/controller-inference.js';
|
|
7
7
|
export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType>({ searchActions, controllers, }: {
|
|
8
8
|
searchActions: TSearchAction[];
|
|
@@ -17,4 +17,3 @@ export declare function buildControllerDefinitions<TControllerDefinitionsMap ext
|
|
|
17
17
|
solutionType: TSolutionType;
|
|
18
18
|
propsMap?: InferControllerPropsMapFromDefinitions<TControllerDefinitionsMap>;
|
|
19
19
|
}): InferControllersMapFromDefinition<TControllerDefinitionsMap, TSolutionType>;
|
|
20
|
-
export declare function ensureAtLeastOneSolutionType(options?: ControllerDefinitionOption): void;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { BreadcrumbManager, BreadcrumbManagerState } from '../../../../controllers/commerce/core/breadcrumb-manager/headless-core-breadcrumb-manager.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { BreadcrumbManager, BreadcrumbManagerState };
|
|
4
|
+
export type BreadcrumbManagerDefinition = SearchAndListingControllerDefinitionWithoutProps<BreadcrumbManager>;
|
|
4
5
|
/**
|
|
5
6
|
* Defines a `BreadcrumbManager` controller instance.
|
|
6
7
|
* @group Definers
|
|
7
8
|
*
|
|
8
9
|
* @returns The `BreadcrumbManager` controller definition.
|
|
9
10
|
*/
|
|
10
|
-
export declare function defineBreadcrumbManager
|
|
11
|
+
export declare function defineBreadcrumbManager(): BreadcrumbManagerDefinition;
|
|
@@ -4,8 +4,7 @@ export type { Cart, CartInitialState, CartItem, CartProps, CartState };
|
|
|
4
4
|
export interface CartBuildProps {
|
|
5
5
|
initialState: CartInitialState;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
8
|
-
}
|
|
7
|
+
export type CartDefinition = UniversalControllerDefinitionWithProps<Cart, CartBuildProps>;
|
|
9
8
|
/**
|
|
10
9
|
* Defines a `Cart` controller instance.
|
|
11
10
|
* @group Definers
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { type Context, type ContextOptions, type ContextProps, type ContextState, type UserLocation, type View } from '../../../../controllers/commerce/context/headless-context.js';
|
|
2
2
|
import type { UniversalControllerDefinitionWithProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { Context, ContextProps, ContextState, View, UserLocation, ContextOptions, };
|
|
4
|
-
export
|
|
4
|
+
export type ContextDefinition = UniversalControllerDefinitionWithProps<Context, {
|
|
5
5
|
initialState: ContextOptions;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
6
|
+
}>;
|
|
8
7
|
/**
|
|
9
8
|
* Defines a `Context` controller instance.
|
|
10
9
|
* @group Definers
|
package/dist/definitions/ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { DidYouMean, DidYouMeanState } from '../../../../controllers/commerce/search/did-you-mean/headless-did-you-mean.js';
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { DidYouMean, DidYouMeanState };
|
|
4
|
+
export type DidYouMeanDefinition = SearchOnlyControllerDefinitionWithoutProps<DidYouMean>;
|
|
4
5
|
/**
|
|
5
6
|
* Defines a `DidYouMean` controller instance.
|
|
6
7
|
* @group Definers
|
|
7
8
|
*
|
|
8
9
|
* @returns The `DidYouMean` controller definition.
|
|
9
10
|
*/
|
|
10
|
-
export declare function defineDidYouMean():
|
|
11
|
+
export declare function defineDidYouMean(): DidYouMeanDefinition;
|
|
@@ -4,8 +4,7 @@ import type { FilterSuggestions, FilterSuggestionsState } from '../../../../cont
|
|
|
4
4
|
import { type FilterSuggestionsGenerator, type GeneratedFilterSuggestionsControllers } from '../../../../controllers/commerce/filter-suggestions/headless-filter-suggestions-generator.js';
|
|
5
5
|
import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
6
6
|
export type { FilterSuggestionsGenerator, GeneratedFilterSuggestionsControllers, FieldSuggestionsFacet, CategoryFilterSuggestions, CategoryFilterSuggestionsState, FilterSuggestions, FilterSuggestionsState, };
|
|
7
|
-
export
|
|
8
|
-
}
|
|
7
|
+
export type FilterSuggestionsGeneratorDefinition = NonRecommendationControllerDefinitionWithoutProps<FilterSuggestionsGenerator>;
|
|
9
8
|
/**
|
|
10
9
|
* Defines the `FilterSuggestionsGenerator` controller for the purpose of server-side rendering.
|
|
11
10
|
* @group Definers
|
|
@@ -10,7 +10,7 @@ import type { NumericFacet, NumericFacetState, NumericFacetValue } from '../../.
|
|
|
10
10
|
import type { RegularFacet, RegularFacetState } from '../../../../controllers/commerce/core/facets/regular/headless-commerce-regular-facet.js';
|
|
11
11
|
import type { LocationFacetValue, RegularFacetValue } from '../../../../features/commerce/facets/facet-set/interfaces/response.js';
|
|
12
12
|
import { SolutionType } from '../../types/controller-constants.js';
|
|
13
|
-
import type {
|
|
13
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
14
14
|
export type { BaseFacetSearchResult, CategoryFacet, CategoryFacetState, CategoryFacetValue, CategoryFacetSearchResult, CoreCommerceFacet, DateFacet, DateFacetValue, DateFacetState, NumericFacet, NumericFacetValue, NumericFacetState, RegularFacet, RegularFacetState, RegularFacetValue, LocationFacet, LocationFacetState, LocationFacetValue, MappedGeneratedFacetController, };
|
|
15
15
|
export type FacetGeneratorState = MappedFacetStates;
|
|
16
16
|
export type MappedFacetStates = Array<MappedFacetState[FacetType]>;
|
|
@@ -18,10 +18,11 @@ export type { FacetType };
|
|
|
18
18
|
export type MappedFacetState = {
|
|
19
19
|
[T in FacetType]: T extends 'numericalRange' ? NumericFacetState : T extends 'regular' ? RegularFacetState : T extends 'dateRange' ? DateFacetState : T extends 'hierarchical' ? CategoryFacetState : T extends 'location' ? LocationFacetState : never;
|
|
20
20
|
};
|
|
21
|
+
export type FacetGeneratorDefinition = SearchAndListingControllerDefinitionWithoutProps<FacetGenerator>;
|
|
21
22
|
/**
|
|
22
23
|
* @group Definers
|
|
23
24
|
*/
|
|
24
|
-
export declare function defineFacetGenerator
|
|
25
|
+
export declare function defineFacetGenerator(): FacetGeneratorDefinition;
|
|
25
26
|
/**
|
|
26
27
|
* The `FacetGenerator` headless sub-controller creates commerce facet sub-controllers from the Commerce API search or
|
|
27
28
|
* product listing response.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type InstantProducts, type InstantProductsOptions, type InstantProductsProps, type InstantProductsState } from '../../../../controllers/commerce/instant-products/headless-instant-products.js';
|
|
2
2
|
import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { InstantProductsOptions, InstantProductsState, InstantProducts, InstantProductsProps, };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type InstantProductsDefinition = NonRecommendationControllerDefinitionWithoutProps<InstantProducts>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `InstantProducts` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CorePaginationOptions, Pagination, PaginationOptions, PaginationProps, PaginationState } from '../../../../controllers/commerce/core/pagination/headless-core-commerce-pagination.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { Pagination, PaginationProps, PaginationState, PaginationOptions, CorePaginationOptions, };
|
|
4
|
+
export type PaginationDefinition = SearchAndListingControllerDefinitionWithoutProps<Pagination>;
|
|
4
5
|
/**
|
|
5
6
|
* Defines a `Pagination` controller instance.
|
|
6
7
|
* @group Definers
|
|
@@ -8,4 +9,4 @@ export type { Pagination, PaginationProps, PaginationState, PaginationOptions, C
|
|
|
8
9
|
* @param props - The configurable `Pagination` properties.
|
|
9
10
|
* @returns The `Pagination` controller definition.
|
|
10
11
|
*/
|
|
11
|
-
export declare function definePagination
|
|
12
|
+
export declare function definePagination(props?: PaginationProps): PaginationDefinition;
|
|
@@ -2,25 +2,15 @@ import type { ParameterManager, ParameterManagerProps, ParameterManagerState } f
|
|
|
2
2
|
import type { Parameters } from '../../../../features/commerce/parameters/parameters-actions.js';
|
|
3
3
|
import type { ProductListingParameters } from '../../../../features/commerce/product-listing-parameters/product-listing-parameters-actions.js';
|
|
4
4
|
import type { CommerceSearchParameters } from '../../../../features/commerce/search-parameters/search-parameters-actions.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { SearchAndListingControllerDefinitionWithProps } from '../../types/controller-definitions.js';
|
|
6
6
|
export type { ParameterManager, ParameterManagerProps, ParameterManagerState, Parameters, ProductListingParameters, CommerceSearchParameters, };
|
|
7
|
-
export type ParameterManagerDefinition
|
|
7
|
+
export type ParameterManagerDefinition = SearchAndListingControllerDefinitionWithProps<ParameterManager<ProductListingParameters | CommerceSearchParameters>, SSRParameterManagerProps<ProductListingParameters | CommerceSearchParameters>>;
|
|
8
8
|
/**
|
|
9
9
|
* Defines a `ParameterManager` controller instance.
|
|
10
10
|
* @group Definers
|
|
11
11
|
*
|
|
12
12
|
* @returns The `ParameterManager` controller definition.
|
|
13
13
|
*/
|
|
14
|
-
export declare function defineParameterManager
|
|
14
|
+
export declare function defineParameterManager(): ParameterManagerDefinition;
|
|
15
15
|
export interface SSRParameterManagerProps<T extends Parameters> extends Omit<ParameterManagerProps<T>, 'excludeDefaultParameters'> {
|
|
16
16
|
}
|
|
17
|
-
type MappedParameterTypes<TOptions extends ControllerDefinitionOption | undefined> = TOptions extends {
|
|
18
|
-
listing: true;
|
|
19
|
-
search: true;
|
|
20
|
-
} | undefined ? ProductListingParameters | CommerceSearchParameters : TOptions extends {
|
|
21
|
-
listing: true;
|
|
22
|
-
search: false;
|
|
23
|
-
} ? ProductListingParameters : TOptions extends {
|
|
24
|
-
listing: false;
|
|
25
|
-
search: true;
|
|
26
|
-
} ? CommerceSearchParameters : never;
|
package/dist/definitions/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type ProductListing, type ProductListingState } from '../../../../controllers/commerce/product-listing/headless-product-listing.js';
|
|
2
2
|
import { type Search } from '../../../../controllers/commerce/search/headless-search.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
4
4
|
export type { Search, ProductListing, ProductListingState as ProductListState };
|
|
5
5
|
export type ProductList = Pick<ProductListing | Search, 'state' | 'subscribe' | 'interactiveProduct' | 'promoteChildToParent'>;
|
|
6
|
+
export type ProductListDefinition = SearchAndListingControllerDefinitionWithoutProps<ProductList>;
|
|
6
7
|
/**
|
|
7
8
|
* Defines a `ProductList` controller instance.
|
|
8
9
|
* @group Definers
|
|
9
10
|
*
|
|
10
11
|
* @returns The `ProductList` controller definition.
|
|
11
12
|
*/
|
|
12
|
-
export declare function defineProductList
|
|
13
|
+
export declare function defineProductList(): ProductListDefinition;
|
package/dist/definitions/ssr-next/commerce/controllers/product-view/headless-product-view.ssr.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type ProductView as BaseProductView } from '../../../../controllers/commerce/product-view/headless-product-view.js';
|
|
2
2
|
import { type Controller } from '../../../../controllers/controller/headless-controller.js';
|
|
3
3
|
import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
4
|
-
|
|
5
|
-
}
|
|
4
|
+
export type ProductViewDefinition = NonRecommendationControllerDefinitionWithoutProps<ProductView>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines a `ProductView` controller instance.
|
|
8
7
|
*
|
|
@@ -17,4 +16,3 @@ interface ProductViewDefinition extends NonRecommendationControllerDefinitionWit
|
|
|
17
16
|
export declare function defineProductView(): ProductViewDefinition;
|
|
18
17
|
export interface ProductView extends BaseProductView, Controller {
|
|
19
18
|
}
|
|
20
|
-
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type RecentQueriesList, type RecentQueriesListInitialState, type RecentQueriesListOptions, type RecentQueriesListProps, type RecentQueriesState } from '../../../../controllers/commerce/recent-queries-list/headless-recent-queries-list.js';
|
|
2
2
|
import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { RecentQueriesListInitialState, RecentQueriesListOptions, RecentQueriesState, RecentQueriesList, RecentQueriesListProps, };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type RecentQueriesListDefinition = NonRecommendationControllerDefinitionWithoutProps<RecentQueriesList>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `RecentQueriesList` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
package/dist/definitions/ssr-next/commerce/controllers/search-box/headless-search-box.ssr.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type CoreSearchBox, type SearchBox, type SearchBoxOptions, type SearchBoxProps, type SearchBoxState, type Suggestion } from '../../../../controllers/commerce/search-box/headless-search-box.js';
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { CoreSearchBox, SearchBox, SearchBoxProps, SearchBoxState, SearchBoxOptions, Suggestion, };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type SearchBoxDefinition = SearchOnlyControllerDefinitionWithoutProps<SearchBox>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines a `SearchBox` controller instance.
|
|
8
7
|
* @group Definers
|
package/dist/definitions/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Sort, SortProps, SortState } from '../../../../controllers/commerce/core/sort/headless-core-commerce-sort.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { Sort, SortProps, SortState };
|
|
4
|
+
export type SortDefinition = SearchAndListingControllerDefinitionWithoutProps<Sort>;
|
|
4
5
|
/**
|
|
5
6
|
* Defines a `Sort` controller instance.
|
|
6
7
|
* @group Definers
|
|
@@ -8,4 +9,4 @@ export type { Sort, SortProps, SortState };
|
|
|
8
9
|
* @param props - The configurable `Sort` properties.
|
|
9
10
|
* @returns The `Sort` controller definition.
|
|
10
11
|
*/
|
|
11
|
-
export declare function defineSort
|
|
12
|
+
export declare function defineSort(props?: SortProps): SortDefinition;
|
|
@@ -2,8 +2,7 @@ import { type StandaloneSearchBox, type StandaloneSearchBoxState } from '../../.
|
|
|
2
2
|
import type { StandaloneSearchBoxProps } from '../../../../controllers/standalone-search-box/headless-standalone-search-box.js';
|
|
3
3
|
import type { ListingAndStandaloneControllerWithoutProps } from '../../types/controller-definitions.js';
|
|
4
4
|
export type { StandaloneSearchBoxState, StandaloneSearchBox, StandaloneSearchBoxProps, };
|
|
5
|
-
export
|
|
6
|
-
}
|
|
5
|
+
export type StandaloneSearchBoxDefinition = ListingAndStandaloneControllerWithoutProps<StandaloneSearchBox>;
|
|
7
6
|
/**
|
|
8
7
|
* Defines the `StandaloneSearchBox` controller for the purpose of server-side rendering.
|
|
9
8
|
* @group Definers
|
package/dist/definitions/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.d.ts
CHANGED
|
@@ -2,12 +2,13 @@ import type { Summary, SummaryState } from '../../../../controllers/commerce/cor
|
|
|
2
2
|
import type { ProductListingSummaryState } from '../../../../controllers/commerce/product-listing/summary/headless-product-listing-summary.js';
|
|
3
3
|
import type { RecommendationsSummaryState } from '../../../../controllers/commerce/recommendations/summary/headless-recommendations-summary.js';
|
|
4
4
|
import type { SearchSummaryState } from '../../../../controllers/commerce/search/summary/headless-search-summary.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
6
6
|
export type { Summary, ProductListingSummaryState, RecommendationsSummaryState, SearchSummaryState, SummaryState, };
|
|
7
|
+
export type SummaryDefinition = SearchAndListingControllerDefinitionWithoutProps<Summary<ProductListingSummaryState | SearchSummaryState | RecommendationsSummaryState>>;
|
|
7
8
|
/**
|
|
8
9
|
* Defines a `Summary` controller instance.
|
|
9
10
|
* @group Definers
|
|
10
11
|
*
|
|
11
12
|
* @returns The `Summary` controller definition.
|
|
12
13
|
*/
|
|
13
|
-
export declare function defineSummary
|
|
14
|
+
export declare function defineSummary(): SummaryDefinition;
|
package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { NotifyTrigger, NotifyTriggerState } from '../../../../controllers/core/triggers/headless-core-notify-trigger.js';
|
|
2
2
|
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { NotifyTrigger, NotifyTriggerState };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type NotifyTriggerDefinition = SearchAndListingControllerDefinitionWithoutProps<NotifyTrigger>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `NotifyTrigger` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-query-trigger.ssr.d.ts
CHANGED
|
@@ -2,8 +2,7 @@ import type { QueryTrigger } from '../../../../controllers/core/triggers/headles
|
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { QueryTriggerState } from '../../../../controllers/core/triggers/headless-core-query-trigger.js';
|
|
4
4
|
export type { QueryTrigger };
|
|
5
|
-
export
|
|
6
|
-
}
|
|
5
|
+
export type QueryTriggerDefinition = SearchOnlyControllerDefinitionWithoutProps<QueryTrigger>;
|
|
7
6
|
/**
|
|
8
7
|
* Defines the `QueryTrigger` controller for the purpose of server-side rendering.
|
|
9
8
|
* @group Definers
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { RedirectionTrigger, RedirectionTriggerState } from '../../../../controllers/core/triggers/headless-core-redirection-trigger.js';
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { RedirectionTrigger, RedirectionTriggerState };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type RedirectionTriggerDefinition = SearchOnlyControllerDefinitionWithoutProps<RedirectionTrigger>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `RedirectionTrigger` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
-
import type { InvalidControllerDefinition } from '../../common/errors.js';
|
|
3
2
|
import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/controller-inference.js';
|
|
4
3
|
import type { ControllersPropsMap } from '../../common/types/controllers.js';
|
|
5
4
|
import type { HasKey, HasRequiredKeys, OptionsTuple } from '../../common/types/utilities.js';
|
|
@@ -8,7 +7,7 @@ import type { ContextDefinition } from '../controllers/context/headless-context.
|
|
|
8
7
|
import type { ParameterManagerDefinition } from '../controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
|
|
9
8
|
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
10
9
|
import { type recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
|
|
11
|
-
import type { ListingAndStandaloneController,
|
|
10
|
+
import type { ListingAndStandaloneController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
|
|
12
11
|
import type { HydratedState } from './hydrate-static-state.js';
|
|
13
12
|
import type { HasSolutionType } from './utilities.js';
|
|
14
13
|
export type { HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
|
|
@@ -44,10 +43,7 @@ export interface ControllerDefinitionsMap<TController extends Controller> {
|
|
|
44
43
|
[customName: string]: ControllerDefinition<TController>;
|
|
45
44
|
}
|
|
46
45
|
type BakedInControllerDefinitions = {
|
|
47
|
-
parameterManager: ParameterManagerDefinition
|
|
48
|
-
listing: true;
|
|
49
|
-
search: true;
|
|
50
|
-
}>;
|
|
46
|
+
parameterManager: ParameterManagerDefinition;
|
|
51
47
|
context: ContextDefinition;
|
|
52
48
|
cart: CartDefinition;
|
|
53
49
|
};
|
|
@@ -89,51 +85,10 @@ export type IsRecommendationController<TController extends ControllerDefinition<
|
|
|
89
85
|
type DefaultControllerProps<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, K extends keyof TControllers> = {
|
|
90
86
|
[I in keyof TControllersPropsMap as I extends K ? I : never]: TControllersPropsMap[I];
|
|
91
87
|
};
|
|
92
|
-
export interface ControllerDefinitionOption {
|
|
93
|
-
/**
|
|
94
|
-
* Whether the controller will be used in a product listing context.
|
|
95
|
-
* @defaultValue true
|
|
96
|
-
*/
|
|
97
|
-
listing?: boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Whether the controller will be used in a search page context.
|
|
100
|
-
* @defaultValue true
|
|
101
|
-
*/
|
|
102
|
-
search?: boolean;
|
|
103
|
-
}
|
|
104
88
|
export type SearchOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchOnlyController;
|
|
105
|
-
type SearchOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchOnlyController;
|
|
106
89
|
export type ListingAndStandaloneControllerWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingAndStandaloneController;
|
|
107
|
-
type ListingOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingOnlyController;
|
|
108
|
-
type ListingOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & ListingOnlyController;
|
|
109
90
|
export type RecommendationOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & RecommendationOnlyController;
|
|
110
91
|
export type NonRecommendationControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & NonRecommendationController;
|
|
111
92
|
export type UniversalControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & UniversalController;
|
|
112
93
|
export type SearchAndListingControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchAndListingController;
|
|
113
|
-
type SearchAndListingControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchAndListingController;
|
|
114
|
-
export type SubControllerDefinitionWithoutProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined> = TDefinition extends {
|
|
115
|
-
listing?: true;
|
|
116
|
-
search?: true;
|
|
117
|
-
} | undefined ? SearchAndListingControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
118
|
-
listing?: true;
|
|
119
|
-
search?: false;
|
|
120
|
-
} ? ListingOnlyControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
121
|
-
listing?: false;
|
|
122
|
-
search?: true;
|
|
123
|
-
} ? SearchOnlyControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
124
|
-
listing: false;
|
|
125
|
-
search: false;
|
|
126
|
-
} ? InvalidControllerDefinition : never;
|
|
127
|
-
export type SubControllerDefinitionWithProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined, TProps> = TDefinition extends {
|
|
128
|
-
listing?: true;
|
|
129
|
-
search?: true;
|
|
130
|
-
} | undefined ? SearchAndListingControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
131
|
-
listing?: true;
|
|
132
|
-
search?: false;
|
|
133
|
-
} ? ListingOnlyControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
134
|
-
listing?: false;
|
|
135
|
-
search?: true;
|
|
136
|
-
} ? SearchOnlyControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
137
|
-
listing: false;
|
|
138
|
-
search: false;
|
|
139
|
-
} ? InvalidControllerDefinition : never;
|
|
94
|
+
export type SearchAndListingControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchAndListingController;
|
|
@@ -37,12 +37,6 @@ export interface SearchOnlyController {
|
|
|
37
37
|
*/
|
|
38
38
|
[SolutionType.search]: true;
|
|
39
39
|
}
|
|
40
|
-
export interface ListingOnlyController {
|
|
41
|
-
/**
|
|
42
|
-
* @internal
|
|
43
|
-
*/
|
|
44
|
-
[SolutionType.listing]: true;
|
|
45
|
-
}
|
|
46
40
|
export interface RecommendationOnlyController {
|
|
47
41
|
/**
|
|
48
42
|
* @internal
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { clone, filterObject, mapObject } from '../../utils/utils.js';
|
|
2
2
|
import { ControllerBuilder } from '../common/builders/controller-builder.js';
|
|
3
3
|
import { createStaticControllerBuilder } from '../common/builders/static-controller-builder.js';
|
|
4
|
-
import { InvalidControllerDefinition } from '../common/errors.js';
|
|
5
4
|
export function createStaticState({ searchActions, controllers, }) {
|
|
6
5
|
return {
|
|
7
6
|
controllers: mapObject(controllers, (controller) => createStaticControllerBuilder(controller).build()),
|
|
@@ -23,8 +22,3 @@ export function buildControllerDefinitions({ definitionsMap, engine, solutionTyp
|
|
|
23
22
|
});
|
|
24
23
|
return filterObject(controllerMap, (value) => value !== null);
|
|
25
24
|
}
|
|
26
|
-
export function ensureAtLeastOneSolutionType(options) {
|
|
27
|
-
if (options?.listing === false && options?.search === false) {
|
|
28
|
-
throw new InvalidControllerDefinition();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { buildProductListing } from '../../../../controllers/commerce/product-listing/headless-product-listing.js';
|
|
2
2
|
import { buildSearch } from '../../../../controllers/commerce/search/headless-search.js';
|
|
3
|
-
import { ensureAtLeastOneSolutionType } from '../../controller-utils.js';
|
|
4
3
|
import { SolutionType } from '../../types/controller-constants.js';
|
|
5
4
|
/**
|
|
6
5
|
* Defines a `BreadcrumbManager` controller instance.
|
|
@@ -8,12 +7,10 @@ import { SolutionType } from '../../types/controller-constants.js';
|
|
|
8
7
|
*
|
|
9
8
|
* @returns The `BreadcrumbManager` controller definition.
|
|
10
9
|
*/
|
|
11
|
-
export function defineBreadcrumbManager(
|
|
12
|
-
ensureAtLeastOneSolutionType(options);
|
|
10
|
+
export function defineBreadcrumbManager() {
|
|
13
11
|
return {
|
|
14
12
|
listing: true,
|
|
15
13
|
search: true,
|
|
16
|
-
...options,
|
|
17
14
|
build: (engine, solutionType) => solutionType === SolutionType.listing
|
|
18
15
|
? buildProductListing(engine).breadcrumbManager()
|
|
19
16
|
: buildSearch(engine).breadcrumbManager(),
|