diff --git a/packages/atomic-angular/projects/atomic-angular/package-lock.json b/packages/atomic-angular/projects/atomic-angular/package-lock.json index dfa585a3c8c..9a2cada8fc6 100644 --- a/packages/atomic-angular/projects/atomic-angular/package-lock.json +++ b/packages/atomic-angular/projects/atomic-angular/package-lock.json @@ -6,10 +6,10 @@ "packages": { "": { "name": "@coveo/atomic-angular", - "version": "1.18.7", + "version": "1.18.8", "license": "Apache-2.0", "dependencies": { - "@coveo/atomic": "1.78.7", + "@coveo/atomic": "1.79.0", "tslib": "2.4.0" }, "peerDependencies": { @@ -1999,13 +1999,13 @@ } }, "node_modules/@coveo/atomic": { - "version": "1.78.7", - "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.78.7.tgz", - "integrity": "sha512-b7hZY/PcGxp3dk4EwrzFvjNvFiYXA68ZcvTX/9kp3I/tU+WZQLl6aB/OPpzbz+f3bTS6OCDedeioRhoMk7I4rA==", + "version": "1.79.0", + "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.79.0.tgz", + "integrity": "sha512-9AKsSgj4XReE32qcDdesbMbyy6W/C7VQbudNwmvRnC/qz8iYcz31Mc1UMF5wIXw8sidXokOJVxIzznVSV8J9tQ==", "hasInstallScript": true, "dependencies": { - "@coveo/bueno": "0.40.7", - "@coveo/headless": "1.77.7", + "@coveo/bueno": "0.40.8", + "@coveo/headless": "1.77.8", "@salesforce-ux/design-system": "^2.16.1", "@stencil/core": "2.15.2", "@stencil/store": "1.5.0", @@ -2024,16 +2024,16 @@ } }, "node_modules/@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "node_modules/@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "dependencies": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", @@ -11942,12 +11942,12 @@ } }, "@coveo/atomic": { - "version": "1.78.7", - "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.78.7.tgz", - "integrity": "sha512-b7hZY/PcGxp3dk4EwrzFvjNvFiYXA68ZcvTX/9kp3I/tU+WZQLl6aB/OPpzbz+f3bTS6OCDedeioRhoMk7I4rA==", + "version": "1.79.0", + "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.79.0.tgz", + "integrity": "sha512-9AKsSgj4XReE32qcDdesbMbyy6W/C7VQbudNwmvRnC/qz8iYcz31Mc1UMF5wIXw8sidXokOJVxIzznVSV8J9tQ==", "requires": { - "@coveo/bueno": "0.40.7", - "@coveo/headless": "1.77.7", + "@coveo/bueno": "0.40.8", + "@coveo/headless": "1.77.8", "@salesforce-ux/design-system": "^2.16.1", "@stencil/core": "2.15.2", "@stencil/store": "1.5.0", @@ -11963,16 +11963,16 @@ } }, "@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "requires": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", diff --git a/packages/atomic-react/package-lock.json b/packages/atomic-react/package-lock.json index c9ef84746e4..9481c4de091 100644 --- a/packages/atomic-react/package-lock.json +++ b/packages/atomic-react/package-lock.json @@ -6,9 +6,9 @@ "packages": { "": { "name": "@coveo/atomic-react", - "version": "1.13.7", + "version": "1.13.8", "dependencies": { - "@coveo/atomic": "1.78.7" + "@coveo/atomic": "1.79.0" }, "devDependencies": { "@types/node": "15.14.9", @@ -1904,13 +1904,13 @@ } }, "node_modules/@coveo/atomic": { - "version": "1.78.7", - "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.78.7.tgz", - "integrity": "sha512-b7hZY/PcGxp3dk4EwrzFvjNvFiYXA68ZcvTX/9kp3I/tU+WZQLl6aB/OPpzbz+f3bTS6OCDedeioRhoMk7I4rA==", + "version": "1.79.0", + "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.79.0.tgz", + "integrity": "sha512-9AKsSgj4XReE32qcDdesbMbyy6W/C7VQbudNwmvRnC/qz8iYcz31Mc1UMF5wIXw8sidXokOJVxIzznVSV8J9tQ==", "hasInstallScript": true, "dependencies": { - "@coveo/bueno": "0.40.7", - "@coveo/headless": "1.77.7", + "@coveo/bueno": "0.40.8", + "@coveo/headless": "1.77.8", "@salesforce-ux/design-system": "^2.16.1", "@stencil/core": "2.15.2", "@stencil/store": "1.5.0", @@ -1929,16 +1929,16 @@ } }, "node_modules/@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "node_modules/@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "dependencies": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", @@ -12004,12 +12004,12 @@ } }, "@coveo/atomic": { - "version": "1.78.7", - "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.78.7.tgz", - "integrity": "sha512-b7hZY/PcGxp3dk4EwrzFvjNvFiYXA68ZcvTX/9kp3I/tU+WZQLl6aB/OPpzbz+f3bTS6OCDedeioRhoMk7I4rA==", + "version": "1.79.0", + "resolved": "https://registry.npmjs.org/@coveo/atomic/-/atomic-1.79.0.tgz", + "integrity": "sha512-9AKsSgj4XReE32qcDdesbMbyy6W/C7VQbudNwmvRnC/qz8iYcz31Mc1UMF5wIXw8sidXokOJVxIzznVSV8J9tQ==", "requires": { - "@coveo/bueno": "0.40.7", - "@coveo/headless": "1.77.7", + "@coveo/bueno": "0.40.8", + "@coveo/headless": "1.77.8", "@salesforce-ux/design-system": "^2.16.1", "@stencil/core": "2.15.2", "@stencil/store": "1.5.0", @@ -12025,16 +12025,16 @@ } }, "@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "requires": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", diff --git a/packages/atomic/package-lock.json b/packages/atomic/package-lock.json index 245799e2aa0..2af41b343a0 100644 --- a/packages/atomic/package-lock.json +++ b/packages/atomic/package-lock.json @@ -6,12 +6,12 @@ "packages": { "": { "name": "@coveo/atomic", - "version": "1.78.7", + "version": "1.79.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "0.40.7", - "@coveo/headless": "1.77.7", + "@coveo/bueno": "0.40.8", + "@coveo/headless": "1.77.8", "@salesforce-ux/design-system": "^2.16.1", "@stencil/core": "2.15.2", "@stencil/store": "1.5.0", @@ -2848,16 +2848,16 @@ } }, "node_modules/@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "node_modules/@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "dependencies": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", @@ -32108,16 +32108,16 @@ "optional": true }, "@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "requires": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", diff --git a/packages/atomic/src/components.d.ts b/packages/atomic/src/components.d.ts index 45110d07416..405edff0a6e 100644 --- a/packages/atomic/src/components.d.ts +++ b/packages/atomic/src/components.d.ts @@ -13,6 +13,7 @@ import { ResultRenderingFunction } from "./components/search/result-lists/result import { Section } from "./components/search/atomic-layout-section/sections"; import { RecommendationEngine } from "@coveo/headless/recommendation"; import { i18n } from "i18next"; +import { AtomicStore } from "./components/search/atomic-search-interface/store"; import { InitializationOptions } from "./components/search/atomic-search-interface/atomic-search-interface"; import { StandaloneSearchBoxData } from "./utils/local-storage-utils"; import { InsightEngine } from "@coveo/headless/insight"; @@ -656,7 +657,7 @@ export namespace Components { /** * Global state for Atomic. */ - "store"?: ReturnType; + "store"?: AtomicStore; } interface AtomicResultBadge { /** @@ -2479,7 +2480,7 @@ declare namespace LocalJSX { /** * Global state for Atomic. */ - "store"?: ReturnType; + "store"?: AtomicStore; } interface AtomicResultBadge { /** diff --git a/packages/atomic/src/components/common/interface/store.ts b/packages/atomic/src/components/common/interface/store.ts index 8e91638e79b..7b33c1f113b 100644 --- a/packages/atomic/src/components/common/interface/store.ts +++ b/packages/atomic/src/components/common/interface/store.ts @@ -6,9 +6,19 @@ export type AtomicCommonStoreData = { iconAssetsPath: string; }; +export interface AtomicCommonStore + extends CommonStencilStore { + setLoadingFlag(flag: string): void; + unsetLoadingFlag(loadingFlag: string): void; + hasLoadingFlag(loadingFlag: string): boolean; + waitUntilAppLoaded(callback: () => void): void; + isAppLoaded(): boolean; + getUniqueIDFromEngine(engine: AnyEngineType): string; +} + export function createAtomicCommonStore< StoreData extends AtomicCommonStoreData ->(initialStoreData: StoreData) { +>(initialStoreData: StoreData): AtomicCommonStore { const stencilStore = createStore( initialStoreData ) as CommonStencilStore; diff --git a/packages/atomic/src/components/insight/atomic-insight-interface/atomic-insight-interface.tsx b/packages/atomic/src/components/insight/atomic-insight-interface/atomic-insight-interface.tsx index 278c27acc11..e2a34610379 100644 --- a/packages/atomic/src/components/insight/atomic-insight-interface/atomic-insight-interface.tsx +++ b/packages/atomic/src/components/insight/atomic-insight-interface/atomic-insight-interface.tsx @@ -21,14 +21,14 @@ import { BaseAtomicInterface, CommonAtomicInterfaceHelper, } from '../../common/interface/interface-common'; -import {createAtomicSvcInsightStore} from './store'; +import {AtomicSvcInsightStore, createAtomicSvcInsightStore} from './store'; import {getAnalyticsConfig} from './analytics-config'; const FirstInsightRequestExecutedFlag = 'firstInsightRequestExecuted'; export type InitializationOptions = InsightEngineConfiguration; export type Bindings = CommonBindings< InsightEngine, - ReturnType, + AtomicSvcInsightStore, HTMLAtomicSvcInsightInterfaceElement >; diff --git a/packages/atomic/src/components/insight/atomic-insight-interface/store.ts b/packages/atomic/src/components/insight/atomic-insight-interface/store.ts index 741c132e6dd..f9561a16c50 100644 --- a/packages/atomic/src/components/insight/atomic-insight-interface/store.ts +++ b/packages/atomic/src/components/insight/atomic-insight-interface/store.ts @@ -1,13 +1,17 @@ import {InsightEngine} from '@coveo/headless/insight'; import { + AtomicCommonStore, AtomicCommonStoreData, createAtomicCommonStore, } from '../../common/interface/store'; -export interface AtomicSvgInsightStoreData extends AtomicCommonStoreData {} +export interface AtomicSvcInsightStoreData extends AtomicCommonStoreData {} -export function createAtomicSvcInsightStore() { - const commonStore = createAtomicCommonStore({ +export interface AtomicSvcInsightStore + extends AtomicCommonStore {} + +export function createAtomicSvcInsightStore(): AtomicSvcInsightStore { + const commonStore = createAtomicCommonStore({ loadingFlags: [], iconAssetsPath: '', }); diff --git a/packages/atomic/src/components/recommendations/atomic-recs-interface/atomic-recs-interface.tsx b/packages/atomic/src/components/recommendations/atomic-recs-interface/atomic-recs-interface.tsx index 9d2cbf777cf..c9250ce98a0 100644 --- a/packages/atomic/src/components/recommendations/atomic-recs-interface/atomic-recs-interface.tsx +++ b/packages/atomic/src/components/recommendations/atomic-recs-interface/atomic-recs-interface.tsx @@ -16,12 +16,12 @@ import { BaseAtomicInterface, CommonAtomicInterfaceHelper, } from '../../common/interface/interface-common'; -import {createAtomicRecsStore} from './store'; +import {createAtomicRecsStore, AtomicRecsStore} from './store'; const FirstRecommendationExecutedFlag = 'firstRecommendationExecuted'; export type Bindings = CommonBindings< RecommendationEngine, - ReturnType, + AtomicRecsStore, HTMLAtomicRecsInterfaceElement >; diff --git a/packages/atomic/src/components/recommendations/atomic-recs-interface/store.ts b/packages/atomic/src/components/recommendations/atomic-recs-interface/store.ts index 48101a5b8a3..094ed6332fd 100644 --- a/packages/atomic/src/components/recommendations/atomic-recs-interface/store.ts +++ b/packages/atomic/src/components/recommendations/atomic-recs-interface/store.ts @@ -1,12 +1,15 @@ import {RecommendationEngine} from '@coveo/headless/recommendation'; import { + AtomicCommonStore, AtomicCommonStoreData, createAtomicCommonStore, } from '../../common/interface/store'; export interface AtomicRecsStoreData extends AtomicCommonStoreData {} +export interface AtomicRecsStore + extends AtomicCommonStore {} -export function createAtomicRecsStore() { +export function createAtomicRecsStore(): AtomicRecsStore { const commonStore = createAtomicCommonStore({ loadingFlags: [], iconAssetsPath: '', diff --git a/packages/atomic/src/components/search/atomic-result/atomic-result.tsx b/packages/atomic/src/components/search/atomic-result/atomic-result.tsx index ab02789ab3f..49aa55724fd 100644 --- a/packages/atomic/src/components/search/atomic-result/atomic-result.tsx +++ b/packages/atomic/src/components/search/atomic-result/atomic-result.tsx @@ -12,7 +12,7 @@ import { ResultContextEvent, } from '../result-template-components/result-template-decorators'; import {ResultRenderingFunction} from '../result-lists/result-list-common'; -import {createAtomicStore} from '../atomic-search-interface/store'; +import {AtomicStore} from '../atomic-search-interface/store'; const resultSectionTags = [ 'atomic-result-section-visual', @@ -55,7 +55,7 @@ export class AtomicResult { * Global state for Atomic. * @internal */ - @Prop() store?: ReturnType; + @Prop() store?: AtomicStore; /** * The result content to display. diff --git a/packages/atomic/src/components/search/atomic-search-interface/atomic-search-interface.tsx b/packages/atomic/src/components/search/atomic-search-interface/atomic-search-interface.tsx index ebb171c388c..ded737716d5 100644 --- a/packages/atomic/src/components/search/atomic-search-interface/atomic-search-interface.tsx +++ b/packages/atomic/src/components/search/atomic-search-interface/atomic-search-interface.tsx @@ -24,7 +24,7 @@ import { } from '@coveo/headless'; import i18next, {i18n} from 'i18next'; import {InitializeEvent} from '../../../utils/initialization-utils'; -import {createAtomicStore} from './store'; +import {AtomicStore, createAtomicStore} from './store'; import {getAnalyticsConfig} from './analytics-config'; import { SafeStorage, @@ -41,7 +41,7 @@ const FirstSearchExecutedFlag = 'firstSearchExecuted'; export type InitializationOptions = SearchEngineConfiguration; export type Bindings = CommonBindings< SearchEngine, - ReturnType, + AtomicStore, HTMLAtomicSearchInterfaceElement >; diff --git a/packages/atomic/src/components/search/atomic-search-interface/store.ts b/packages/atomic/src/components/search/atomic-search-interface/store.ts index a33dc114127..9e3c4a45a8e 100644 --- a/packages/atomic/src/components/search/atomic-search-interface/store.ts +++ b/packages/atomic/src/components/search/atomic-search-interface/store.ts @@ -10,6 +10,7 @@ import {DEFAULT_MOBILE_BREAKPOINT} from '../../../utils/replace-breakpoint'; import { createAtomicCommonStore, AtomicCommonStoreData, + AtomicCommonStore, } from '../../common/interface/store'; interface FacetInfo { @@ -46,7 +47,29 @@ export interface AtomicStoreData extends AtomicCommonStoreData { resultList?: ResultListInfo; } -export function createAtomicStore() { +export interface AtomicStore extends AtomicCommonStore { + registerFacet( + facetType: T, + data: AtomicStoreData[T][U] & {facetId: U; element: HTMLElement} + ): void; + + registerResultList(data: ResultListInfo): void; + + getFacetElements(): HTMLElement[]; + + getAllFacets(): { + [facetId: string]: + | FacetInfo + | (FacetInfo & FacetValueFormat) + | (FacetInfo & FacetValueFormat); + }; + + isMobile(): boolean; + + getUniqueIDFromEngine(engine: SearchEngine): string; +} + +export function createAtomicStore(): AtomicStore { const commonStore = createAtomicCommonStore({ loadingFlags: [], facets: {}, diff --git a/packages/atomic/src/utils/initialization-utils.tsx b/packages/atomic/src/utils/initialization-utils.tsx index 0ee0aa53dcc..a105f82ab7a 100644 --- a/packages/atomic/src/utils/initialization-utils.tsx +++ b/packages/atomic/src/utils/initialization-utils.tsx @@ -49,8 +49,6 @@ export class MissingInterfaceParentError extends Error { /** * Necessary interface an Atomic Component must have to initialize itself correctly. - * - * TODO: Move InitializableComponent definition close to their specific use case; Remove generic need for specific use cases */ export interface InitializableComponent< SpecificBindings extends AnyBindings = Bindings diff --git a/packages/auth/package-lock.json b/packages/auth/package-lock.json index 5c5bbcdc5b6..28ba86442df 100644 --- a/packages/auth/package-lock.json +++ b/packages/auth/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "@coveo/auth", - "version": "1.7.7", + "version": "1.7.8", "license": "Apache-2.0", "devDependencies": { "@types/jest": "27.5.1", diff --git a/packages/bueno/package-lock.json b/packages/bueno/package-lock.json index 46720c84c22..94dc97855e8 100644 --- a/packages/bueno/package-lock.json +++ b/packages/bueno/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "@coveo/bueno", - "version": "0.40.7", + "version": "0.40.8", "license": "Apache-2.0", "devDependencies": { "@types/jest": "26.0.24", diff --git a/packages/headless/package-lock.json b/packages/headless/package-lock.json index 289b9d1c49c..8fe77a1cfd1 100644 --- a/packages/headless/package-lock.json +++ b/packages/headless/package-lock.json @@ -6,10 +6,10 @@ "packages": { "": { "name": "@coveo/headless", - "version": "1.77.7", + "version": "1.77.8", "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", @@ -1999,9 +1999,9 @@ "dev": true }, "node_modules/@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "node_modules/@cspotcode/source-map-consumer": { "version": "0.8.0", @@ -14042,9 +14042,9 @@ "dev": true }, "@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "@cspotcode/source-map-consumer": { "version": "0.8.0", diff --git a/packages/quantic/package-lock.json b/packages/quantic/package-lock.json index bdfe3dcf027..7abd207dbab 100644 --- a/packages/quantic/package-lock.json +++ b/packages/quantic/package-lock.json @@ -6,11 +6,11 @@ "packages": { "": { "name": "@coveo/quantic", - "version": "1.26.7", + "version": "1.26.8", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@coveo/headless": "1.77.7", + "@coveo/headless": "1.77.8", "fs-extra": "10.1.0" }, "devDependencies": { @@ -2189,16 +2189,16 @@ } }, "node_modules/@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "node_modules/@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "dependencies": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3", @@ -39562,16 +39562,16 @@ "optional": true }, "@coveo/bueno": { - "version": "0.40.7", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.7.tgz", - "integrity": "sha512-1IwjKLKBccAydzD/qz/pXQ6LjudV6EbpvrfK+2zpDtX6vVMsLXC8qI7ct/SKbE/Q+/t0EOSzBWBKJZrqfBnTzQ==" + "version": "0.40.8", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.40.8.tgz", + "integrity": "sha512-yQN78Jnq9MpUFR/E/B2ROVrw9GJo9T8WDCRMFF0unAr9R4h6TMFTF8JPN/TT83avyL8jqy5ZzhPNJP/R8tlvuw==" }, "@coveo/headless": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.7.tgz", - "integrity": "sha512-FibpdmhOzAf1hCeumxSsZYwRehPTyAtK1Vn0gm0JH5Ej+s9DtDBO3GTLTjQdh+45FdPbfZxSyuXgVDB631dDMA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/@coveo/headless/-/headless-1.77.8.tgz", + "integrity": "sha512-QsRqaM+DBpHU4iVPQ7lNJNxxBrGNTWfdIR8lX4G27UXua/SPCBHOU8/nFOs56KXCq0fe1Na0tPpV3cp8EvWsBw==", "requires": { - "@coveo/bueno": "0.40.7", + "@coveo/bueno": "0.40.8", "@reduxjs/toolkit": "1.8.1", "@types/pino": "6.3.11", "@types/redux-mock-store": "1.0.3",