@coveo/headless 3.26.1-pre.a876bb6765 → 3.26.1-pre.b646ba0b5e

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 (29) hide show
  1. package/dist/cjs/case-assist/headless.cjs +1 -1
  2. package/dist/cjs/commerce/headless.cjs +46 -10
  3. package/dist/cjs/commerce/node.cjs.stats.json +1 -1
  4. package/dist/cjs/headless.cjs +51 -38
  5. package/dist/cjs/insight/headless.cjs +57 -68
  6. package/dist/cjs/insight/node.cjs.stats.json +1 -1
  7. package/dist/cjs/node.cjs.stats.json +1 -1
  8. package/dist/cjs/recommendation/headless.cjs +1 -1
  9. package/dist/cjs/ssr/headless.cjs +44 -10
  10. package/dist/cjs/ssr/node.cjs.stats.json +1 -1
  11. package/dist/cjs/ssr-commerce/headless.cjs +46 -10
  12. package/dist/cjs/ssr-commerce/node.cjs.stats.json +1 -1
  13. package/dist/definitions/features/facet-options/facet-options-utils.d.ts +1 -1
  14. package/dist/esm/controllers/core/facets/facet-conditions-manager/headless-facet-conditions-manager.js +14 -20
  15. package/dist/esm/features/facet-options/facet-options-slice.js +29 -9
  16. package/dist/esm/features/facet-options/facet-options-utils.js +1 -1
  17. package/dist/esm/utils/version.js +1 -1
  18. package/dist/quantic/browser.cjs.stats.json +1 -1
  19. package/dist/quantic/case-assist/headless.js +1 -1
  20. package/dist/quantic/commerce/browser.cjs.stats.json +1 -1
  21. package/dist/quantic/commerce/headless.js +8 -8
  22. package/dist/quantic/commerce/headless.js.map +4 -4
  23. package/dist/quantic/headless.js +9 -9
  24. package/dist/quantic/headless.js.map +4 -4
  25. package/dist/quantic/insight/browser.cjs.stats.json +1 -1
  26. package/dist/quantic/insight/headless.js +8 -8
  27. package/dist/quantic/insight/headless.js.map +4 -4
  28. package/dist/quantic/recommendation/headless.js +1 -1
  29. package/package.json +1 -1
@@ -803,7 +803,7 @@ var import_bueno5 = require("@coveo/bueno");
803
803
  var import_toolkit7 = require("@reduxjs/toolkit");
804
804
 
805
805
  // src/utils/version.ts
806
- var VERSION = "3.26.1-pre.a876bb6765";
806
+ var VERSION = "3.26.1-pre.b646ba0b5e";
807
807
  var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
808
808
 
809
809
  // src/features/configuration/configuration-actions.ts
@@ -1170,7 +1170,7 @@ var import_bueno7 = require("@coveo/bueno");
1170
1170
  var import_toolkit4 = require("@reduxjs/toolkit");
1171
1171
 
1172
1172
  // src/utils/version.ts
1173
- var VERSION = "3.26.1-pre.a876bb6765";
1173
+ var VERSION = "3.26.1-pre.b646ba0b5e";
1174
1174
  var COVEO_FRAMEWORK = ["@coveo/atomic", "@coveo/quantic"];
1175
1175
 
1176
1176
  // src/features/configuration/configuration-actions.ts
@@ -14076,6 +14076,22 @@ var import_bueno76 = require("@coveo/bueno");
14076
14076
 
14077
14077
  // src/features/facet-options/facet-options-slice.ts
14078
14078
  var import_toolkit103 = require("@reduxjs/toolkit");
14079
+
14080
+ // src/features/facet-options/facet-options-utils.ts
14081
+ var isFacetIncludedOnTab = (facetTabs, activeTab) => {
14082
+ if (typeof facetTabs === "object" && Object.keys({ ...facetTabs }).length === 0 || !activeTab || !facetTabs) {
14083
+ return true;
14084
+ }
14085
+ if (facetTabs.excluded && facetTabs.excluded.includes(activeTab)) {
14086
+ return false;
14087
+ }
14088
+ if (facetTabs.included && (facetTabs.included.length === 0 || facetTabs.included.includes(activeTab))) {
14089
+ return true;
14090
+ }
14091
+ return false;
14092
+ };
14093
+
14094
+ // src/features/facet-options/facet-options-slice.ts
14079
14095
  var facetOptionsReducer = (0, import_toolkit103.createReducer)(
14080
14096
  getFacetOptionsInitialState(),
14081
14097
  (builder) => {
@@ -14085,26 +14101,43 @@ var facetOptionsReducer = (0, import_toolkit103.createReducer)(
14085
14101
  state.freezeFacetOrder = false;
14086
14102
  }).addCase(executeSearch3.rejected, (state) => {
14087
14103
  state.freezeFacetOrder = false;
14104
+ }).addCase(updateActiveTab, (state, action) => {
14105
+ for (const facetId2 in state.facets) {
14106
+ const facet = state.facets[facetId2];
14107
+ if (Object.keys({ ...facet.tabs }).length > 0) {
14108
+ facet.enabled = isFacetIncludedOnTab(facet.tabs, action.payload);
14109
+ }
14110
+ }
14088
14111
  }).addCase(
14089
14112
  change.fulfilled,
14090
14113
  (state, action) => action.payload?.facetOptions ?? state
14091
14114
  ).addCase(registerCategoryFacet, (state, action) => {
14092
- const { facetId: facetId2, tabs } = action.payload;
14093
- handleRegisterFacetTabs(tabs, state, facetId2);
14115
+ const { facetId: facetId2, tabs, activeTab } = action.payload;
14116
+ handleRegisterFacetTabs(tabs, activeTab, state, facetId2);
14094
14117
  }).addCase(registerFacet, (state, action) => {
14095
- const { facetId: facetId2, tabs } = action.payload;
14096
- handleRegisterFacetTabs(tabs, state, facetId2);
14118
+ const { facetId: facetId2, tabs, activeTab } = action.payload;
14119
+ handleRegisterFacetTabs(tabs, activeTab, state, facetId2);
14097
14120
  }).addCase(registerDateFacet, (state, action) => {
14098
- const { facetId: facetId2, tabs } = action.payload;
14099
- handleRegisterFacetTabs(tabs, state, facetId2);
14121
+ const { facetId: facetId2, tabs, activeTab } = action.payload;
14122
+ handleRegisterFacetTabs(tabs, activeTab, state, facetId2);
14100
14123
  }).addCase(registerNumericFacet, (state, action) => {
14101
- const { facetId: facetId2, tabs } = action.payload;
14102
- handleRegisterFacetTabs(tabs, state, facetId2);
14124
+ const { facetId: facetId2, tabs, activeTab } = action.payload;
14125
+ handleRegisterFacetTabs(tabs, activeTab, state, facetId2);
14103
14126
  }).addCase(enableFacet, (state, action) => {
14104
14127
  state.facets[action.payload].enabled = true;
14105
14128
  }).addCase(disableFacet, (state, action) => {
14106
14129
  state.facets[action.payload].enabled = false;
14107
14130
  }).addCase(restoreSearchParameters, (state, action) => {
14131
+ if (action.payload.tab) {
14132
+ Object.entries(state.facets).forEach(([, facet]) => {
14133
+ if (Object.keys(facet.tabs ?? {}).length > 0) {
14134
+ facet.enabled = isFacetIncludedOnTab(
14135
+ facet.tabs,
14136
+ action.payload.tab
14137
+ );
14138
+ }
14139
+ });
14140
+ }
14108
14141
  [
14109
14142
  ...Object.keys(action.payload.f ?? {}),
14110
14143
  ...Object.keys(action.payload.fExcluded ?? {}),
@@ -14120,11 +14153,14 @@ var facetOptionsReducer = (0, import_toolkit103.createReducer)(
14120
14153
  });
14121
14154
  }
14122
14155
  );
14123
- function handleRegisterFacetTabs(tabs, state, facetId2) {
14156
+ function handleRegisterFacetTabs(tabs, activeTab, state, facetId2) {
14124
14157
  const newFacetState = {
14125
14158
  ...getFacetOptionsSliceInitialState(),
14126
14159
  tabs: tabs ?? {}
14127
14160
  };
14161
+ if (tabs && Object.keys(tabs).length > 0) {
14162
+ newFacetState.enabled = isFacetIncludedOnTab(tabs, activeTab);
14163
+ }
14128
14164
  state.facets[facetId2] = newFacetState;
14129
14165
  }
14130
14166