@coveo/headless 3.29.3-pre.4728a2e2b4 → 3.29.3-pre.6085e29c49

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 (58) hide show
  1. package/dist/cjs/case-assist/headless.cjs +1 -1
  2. package/dist/cjs/commerce/headless.cjs +1 -1
  3. package/dist/cjs/headless.cjs +1 -1
  4. package/dist/cjs/insight/headless.cjs +1 -1
  5. package/dist/cjs/recommendation/headless.cjs +1 -1
  6. package/dist/cjs/ssr/headless.cjs +1 -1
  7. package/dist/cjs/ssr-commerce/headless.cjs +1 -1
  8. package/dist/cjs/ssr-commerce-next/headless.cjs +1 -1
  9. package/dist/cjs/ssr-next/headless.cjs +1 -1
  10. package/dist/definitions/ssr/commerce/types/controller-definitions.d.ts +3 -0
  11. package/dist/definitions/ssr/common/types/hydrate-static-state.d.ts +0 -4
  12. package/dist/definitions/ssr-commerce-next.index.d.ts +8 -8
  13. package/dist/definitions/ssr-next/commerce/controller-utils.d.ts +1 -2
  14. package/dist/definitions/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.d.ts +3 -2
  15. package/dist/definitions/ssr-next/commerce/controllers/cart/headless-cart.ssr.d.ts +1 -2
  16. package/dist/definitions/ssr-next/commerce/controllers/context/headless-context.ssr.d.ts +2 -3
  17. package/dist/definitions/ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +2 -1
  18. package/dist/definitions/ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +1 -2
  19. package/dist/definitions/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.d.ts +3 -2
  20. package/dist/definitions/ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.d.ts +1 -2
  21. package/dist/definitions/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.d.ts +3 -2
  22. package/dist/definitions/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.d.ts +3 -13
  23. package/dist/definitions/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.d.ts +3 -2
  24. package/dist/definitions/ssr-next/commerce/controllers/product-view/headless-product-view.ssr.d.ts +1 -3
  25. package/dist/definitions/ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +1 -2
  26. package/dist/definitions/ssr-next/commerce/controllers/search-box/headless-search-box.ssr.d.ts +1 -2
  27. package/dist/definitions/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.d.ts +3 -2
  28. package/dist/definitions/ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +1 -2
  29. package/dist/definitions/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.d.ts +3 -2
  30. package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.d.ts +1 -2
  31. package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-query-trigger.ssr.d.ts +1 -2
  32. package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.d.ts +1 -2
  33. package/dist/definitions/ssr-next/commerce/types/controller-definitions.d.ts +3 -48
  34. package/dist/definitions/ssr-next/commerce/types/controller-scopes.d.ts +0 -6
  35. package/dist/definitions/ssr-next/commerce/types/engine.d.ts +6 -3
  36. package/dist/definitions/ssr-next/commerce/types/fetch-static-state.d.ts +1 -1
  37. package/dist/definitions/ssr-next/common/errors.d.ts +0 -3
  38. package/dist/definitions/ssr-next/common/types/engine.d.ts +1 -1
  39. package/dist/definitions/ssr-next/search/controller-utils.d.ts +2 -2
  40. package/dist/definitions/ssr-next/search/types/hydrate-static-state.d.ts +1 -1
  41. package/dist/esm/ssr-next/commerce/controller-utils.js +0 -6
  42. package/dist/esm/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js +1 -4
  43. package/dist/esm/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js +1 -4
  44. package/dist/esm/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js +0 -2
  45. package/dist/esm/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.js +1 -4
  46. package/dist/esm/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.js +1 -4
  47. package/dist/esm/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js +0 -2
  48. package/dist/esm/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js +1 -4
  49. package/dist/esm/ssr-next/common/errors.js +0 -10
  50. package/dist/esm/ssr-next/search/controller-utils.js +2 -2
  51. package/dist/esm/ssr-next/search/engine/search-engine.ssr.js +2 -4
  52. package/dist/esm/utils/version.js +1 -1
  53. package/dist/quantic/case-assist/headless.js +1 -1
  54. package/dist/quantic/commerce/headless.js +1 -1
  55. package/dist/quantic/headless.js +1 -1
  56. package/dist/quantic/insight/headless.js +1 -1
  57. package/dist/quantic/recommendation/headless.js +1 -1
  58. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
3
  import type { ControllerStaticStateMap, ControllersPropsMap } from '../../common/types/controllers.js';
4
- import type { EngineStaticState } from '../../common/types/engine.js';
5
4
  import type { BuildConfig } from './build.js';
6
5
  import type { SolutionType } from './controller-constants.js';
7
6
  import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, FilteredBakedInControllers, OptionsTuple } from './controller-definitions.js';
7
+ import type { EngineStaticState } from './engine.js';
8
8
  /**
9
9
  * Executes only the initial search for a given configuration, then returns a resumable snapshot of engine state along with the state of the controllers.
10
10
  *
@@ -1,6 +1,3 @@
1
- export declare class InvalidControllerDefinition extends Error {
2
- constructor();
3
- }
4
1
  export declare class MissingControllerProps extends Error {
5
2
  constructor(controller: string);
6
3
  }
@@ -1,7 +1,7 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { ControllerStaticStateMap } from './controllers.js';
3
3
  export interface EngineStaticState<TSearchAction extends UnknownAction, TControllers extends ControllerStaticStateMap> {
4
- searchActions: TSearchAction[];
4
+ searchAction: TSearchAction;
5
5
  controllers: TControllers;
6
6
  }
7
7
  export type InferStaticState<T extends {
@@ -9,7 +9,7 @@ export declare function buildControllerDefinitions<TControllerDefinitionsMap ext
9
9
  engine: TEngine;
10
10
  propsMap?: InferControllerPropsMapFromDefinitions<TControllerDefinitionsMap>;
11
11
  }): InferControllersMapFromDefinition<TControllerDefinitionsMap>;
12
- export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>>({ searchActions, controllers, }: {
13
- searchActions: TSearchAction[];
12
+ export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>>({ searchAction, controllers, }: {
13
+ searchAction: TSearchAction;
14
14
  controllers: InferControllersMapFromDefinition<TControllerDefinitions>;
15
15
  }): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromDefinitions<TControllerDefinitions>>;
@@ -5,7 +5,7 @@ import type { OptionsTuple } from '../../common/types/utilities.js';
5
5
  import type { SearchEngineDefinitionBuildResult, SearchEngineDefinitionControllersPropsOption } from './engine.js';
6
6
  export type HydratedState<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap> = SearchEngineDefinitionBuildResult<TEngine, TControllers>;
7
7
  interface HydrateStaticStateOptions<TSearchAction> {
8
- searchActions: TSearchAction[];
8
+ searchAction: TSearchAction;
9
9
  }
10
10
  /**
11
11
  * Creates a new engine from the snapshot of the engine created in SSR with fetchStaticState.
@@ -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(options) {
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(),
@@ -15,17 +15,14 @@ import { manualNumericFacetReducer as manualNumericFacetSet } from '../../../../
15
15
  import { categoryFacetSearchStateSelector } from '../../../../features/facets/facet-search-set/category/category-facet-search-state-selector.js';
16
16
  import { specificFacetSearchStateSelector } from '../../../../features/facets/facet-search-set/specific/specific-facet-search-state-selector.js';
17
17
  import { loadReducerError } from '../../../../utils/errors.js';
18
- import { ensureAtLeastOneSolutionType } from '../../controller-utils.js';
19
18
  import { SolutionType } from '../../types/controller-constants.js';
20
19
  /**
21
20
  * @group Definers
22
21
  */
23
- export function defineFacetGenerator(options) {
24
- ensureAtLeastOneSolutionType(options);
22
+ export function defineFacetGenerator() {
25
23
  return {
26
24
  listing: true,
27
25
  search: true,
28
- ...options,
29
26
  build: (engine, solutionType) => buildFacetGenerator(engine, { props: { solutionType: solutionType } }),
30
27
  };
31
28
  }
@@ -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 `Pagination` controller instance.
@@ -10,7 +9,6 @@ import { SolutionType } from '../../types/controller-constants.js';
10
9
  * @returns The `Pagination` controller definition.
11
10
  */
12
11
  export function definePagination(props) {
13
- ensureAtLeastOneSolutionType(props);
14
12
  return {
15
13
  listing: true,
16
14
  search: true,
@@ -9,7 +9,6 @@ import { sortReducer as commerceSort } from '../../../../features/commerce/sort/
9
9
  import { facetOrderReducer as facetOrder } from '../../../../features/facets/facet-order/facet-order-slice.js';
10
10
  import { querySetReducer as querySet } from '../../../../features/query-set/query-set-slice.js';
11
11
  import { loadReducerError } from '../../../../utils/errors.js';
12
- import { ensureAtLeastOneSolutionType } from '../../controller-utils.js';
13
12
  import { SolutionType } from '../../types/controller-constants.js';
14
13
  /**
15
14
  * Defines a `ParameterManager` controller instance.
@@ -17,12 +16,10 @@ import { SolutionType } from '../../types/controller-constants.js';
17
16
  *
18
17
  * @returns The `ParameterManager` controller definition.
19
18
  */
20
- export function defineParameterManager(options) {
21
- ensureAtLeastOneSolutionType(options);
19
+ export function defineParameterManager() {
22
20
  return {
23
21
  listing: true,
24
22
  search: true,
25
- ...options,
26
23
  buildWithProps: (engine, props, solutionType) => {
27
24
  if (solutionType === SolutionType.listing) {
28
25
  if (!loadCommerceProductListingParameterReducers(engine)) {
@@ -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 `ProductList` controller instance.
@@ -8,12 +7,10 @@ import { SolutionType } from '../../types/controller-constants.js';
8
7
  *
9
8
  * @returns The `ProductList` controller definition.
10
9
  */
11
- export function defineProductList(options) {
12
- ensureAtLeastOneSolutionType(options);
10
+ export function defineProductList() {
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)
19
16
  : buildSearch(engine),
@@ -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 `Sort` controller instance.
@@ -10,7 +9,6 @@ import { SolutionType } from '../../types/controller-constants.js';
10
9
  * @returns The `Sort` controller definition.
11
10
  */
12
11
  export function defineSort(props) {
13
- ensureAtLeastOneSolutionType(props);
14
12
  return {
15
13
  listing: true,
16
14
  search: true,
@@ -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 `Summary` controller instance.
@@ -8,12 +7,10 @@ import { SolutionType } from '../../types/controller-constants.js';
8
7
  *
9
8
  * @returns The `Summary` controller definition.
10
9
  */
11
- export function defineSummary(options) {
12
- ensureAtLeastOneSolutionType(options);
10
+ export function defineSummary() {
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).summary()
19
16
  : buildSearch(engine).summary(),
@@ -1,13 +1,3 @@
1
- import { SolutionType } from '../commerce/types/controller-constants.js';
2
- export class InvalidControllerDefinition extends Error {
3
- constructor() {
4
- super();
5
- this.name = 'InvalidControllerDefinition';
6
- this.message = `A controller must be defined for at least one solution type: ${Object.keys(SolutionType)
7
- .map((s) => s.toLowerCase())
8
- .join(', ')}`;
9
- }
10
- }
11
1
  export class MissingControllerProps extends Error {
12
2
  constructor(controller) {
13
3
  super();
@@ -7,9 +7,9 @@ export function buildControllerDefinitions({ definitionsMap, engine, propsMap, }
7
7
  return new ControllerBuilder(definition, engine, props).build();
8
8
  });
9
9
  }
10
- export function createStaticState({ searchActions, controllers, }) {
10
+ export function createStaticState({ searchAction, controllers, }) {
11
11
  return {
12
12
  controllers: mapObject(controllers, (controller) => createStaticControllerBuilder(controller).build()),
13
- searchActions: clone(searchActions),
13
+ searchAction: clone(searchAction),
14
14
  };
15
15
  }
@@ -67,16 +67,14 @@ export function defineSearchEngine(options) {
67
67
  });
68
68
  engine.executeFirstSearch();
69
69
  const staticState = createStaticState({
70
- searchActions: [await engine.waitForSearchCompletedAction()],
70
+ searchAction: await engine.waitForSearchCompletedAction(),
71
71
  controllers: controllers,
72
72
  });
73
73
  return staticState;
74
74
  };
75
75
  const hydrateStaticState = async (...params) => {
76
76
  const { engine, controllers } = await build(...params);
77
- params[0].searchActions.forEach((action) => {
78
- engine.dispatch(action);
79
- });
77
+ engine.dispatch(params[0].searchAction);
80
78
  await engine.waitForSearchCompletedAction();
81
79
  return { engine, controllers };
82
80
  };
@@ -1,2 +1,2 @@
1
- export const VERSION = "3.29.3-pre.4728a2e2b4" || 'Test version';
1
+ export const VERSION = "3.29.3-pre.6085e29c49" || 'Test version';
2
2
  export const COVEO_FRAMEWORK = ['@coveo/atomic', '@coveo/quantic'];